|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » PHP. Как определить протокол? |
|
PHP. Как определить протокол?
|
pauluss
Сообщения: n/a |
Неожиданный ступор.
Пользую SSL. Мне необходимо выполнять одни действия, если ко мне залезли по http, и другие, если по https. Вопрос. Как определить (на PHP) протокол, по которому залезли на сайт? (учитывая то, что реффереры могут вырезаться) Спасибо. |
|
Отправлено: 16:50, 30-08-2005 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать Можно поглядеть в сторону предопределенных переменных:
$_SERVER['SERVER_PORT'] - порт на серверной машине, используемый web-сервером для соединения. По умолчанию это '80'; использование SSL, к примеру, изменит это значение на то, которое вы определили для секретного порта HTTP. $_SERVER['SERVER_PROTOCOL'] - имя и версия информационного протокола, по которому страница запрошена; например, 'HTTP/1.0'; Беда в том, что я не использовал никогда SSL и не знаю подводных камней - содержимое переменных может не быть адекватными (это кстати, априори и без использования SSL - специфика предопределенных серверных переменных) |
------- Отправлено: 09:37, 31-08-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать pauluss
дурацкий вопрос: а по http и https идут по одному и тому же адресу? (адрес страницы) |
Отправлено: 10:28, 31-08-2005 | #3 |
pauluss
Сообщения: n/a |
marКонечно по одному. Почему вопрос дурацкий? Надо сделать так: если на сайт залезли по http, то это обычный посетитель, если по https - это зона клиента, его надо авторизовывать и давать доступ ко всяким вкусным материалам поддержки. Где-то я это видел, забыл где.
Пока я вижу только один способ - по порту сервера. Немного неудобно тем, что при переносе на другой хостинг порт может быть другим. Хотя это конечно не критично. |
Отправлено: 10:35, 31-08-2005 | #4 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать порт https обычно 443, хотя, конечно, ничто не мешает его поменять
Пожалуй, как уже сказал Prisoner, определять можно по SERVER_PORT (для апача), а для себя сделать какой-нибудь ini-файл с определенными переменными портов для http и https (на случай смены провайдера) Или парсить SERVER_PROTOCOL - если лень заморачиваться с ini |
|
Отправлено: 12:23, 31-08-2005 | #5 |
pauluss
Сообщения: n/a |
Я SERVER_PORT смотрю.
SERVER_PROTOKOL почему-то показывает HTTP/1.1 и на http запрос и на https. |
Отправлено: 12:32, 31-08-2005 | #6 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать Потому так осторожно и говорил об адекватности переменных .
|
------- Отправлено: 17:11, 31-08-2005 | #7 |
Ветеран Сообщения: 1862
|
Профиль | Сайт | Отправить PM | Цитировать Цитата:
http://mts.ru Сервер построен на IIS. А как же там сертификаты? |
|
------- Отправлено: 22:33, 03-09-2005 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интернет - [решено] Как отключить протокол интернета TCP/IP v.6 | ura1961 | Microsoft Windows Vista | 2 | 27-09-2009 02:01 | |
Ошибка - Пропал протокол TCP/IP. Как и что восстановить? | edixxx | Microsoft Windows 2000/XP | 10 | 12-02-2009 12:14 | |
Разное - Как вернуть протокол MS-CHAP version 1 в Vista | prohar | Microsoft Windows Vista | 3 | 27-05-2008 00:21 | |
Как установить протокол TCP-IP в XP ??? | DGun | Сетевые технологии | 2 | 25-08-2004 08:51 | |
Как снести неиспользуемый сетевой протокол | Animal | Сетевые технологии | 3 | 08-01-2003 05:41 |
|