Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > Работа по https


Автор: Вопрошатель 26.11.2013, 19:13
Поскольку приложение на РНР, то решил вопрос сюда поместить, тем более, что отделного раздела по протоколам не нашел.

Надо сделать доступ в админку, через https. Начал читать, но так и не понял как устанавливается защищенное соединение. Везде где я читал этот момент рассматривается как нечто само собой разумеющееся.

Верно ли я понимаю, что на уровне РНР-приложения можно не заморачиваться с тем по какому протоколу оно работает, по http, или по https? Т.е., если надо чтобы некоторая часть приложения работала по https то надо в настройках .htaccess прописать, что если запрос на определенный адрес пришел по http, то надо его перенаправить на https, после чего браузер и сервер установят между собой соединение по этому каналу и данные начнут передаваться в зашифрованном виде. Правильно?

Но, если есть необходимость со стороны клиента инициировать соединение по https, то надо чтоб в заголовке запроса был указан протокол https. Так? 

Автор: bars80080 27.11.2013, 11:29
https - протокол, а потому в первую очередь с ним сталкивается сервер.
чтобы сайт работал по https - ставится сертификат в настройках сервера. как это делается - зависит от сервера (хостера). либо хостер по вашей просьбе устанавливает сертификат (отказывает в установке). либо вы сами намазываете его своими силами, самописный или покупной (мануалы по конкретному сертификату, конкретному серверу в руки).


Цитата(Вопрошатель @  26.11.2013,  19:13 Найти цитируемый пост)
Т.е., если надо чтобы некоторая часть приложения работала по https то надо в настройках .htaccess прописать, что если запрос на определенный адрес пришел по http, то надо его перенаправить на https

вообще да. но можно сделать и с помощью пхп. в массиве $_SERVER будет видно какой протокол запросил клиент, и если не тот, то можно его перенаправить:
header('Location: https://...');


Цитата(Вопрошатель @  26.11.2013,  19:13 Найти цитируемый пост)
Но, если есть необходимость со стороны клиента инициировать соединение по https, то надо чтоб в заголовке запроса был указан протокол https. Так?  

перенаправив клиента на https, дальше браузер сам всегда будет запрашивать относительные ссылки по этому же протоколу. соответственно, можно облажаться, если вы уже наделали страницы сайта с жёстко прописанными абсолютными ссылками, начинающимися с http: 

Автор: jexerrus 17.3.2014, 13:25
1. настраиваем ssl для всего домена целиком  в apache/nginx
2. в папке с админкой кладем .htaccess файл с оказанием ходить по этой попке только по https
3. радуемся )

Автор: marioadm 6.5.2014, 01:22
Цитата(bars80080 @  27.11.2013,  11:29 Найти цитируемый пост)
header('Location: https://...');


Перенаправляем тоже через .htaccess

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)