PHP — делаем проверку наличия HTTPS или редирект

PHP — делаем проверку наличия HTTPS или редирект


Задача: Не всегда получается настроить .htaccess для принудительного редиректа на протокол HTTPS и как-то необходимо выкручиваться!


Если мы знаем, где находится код, отвечающий за роутинг нашего сайта (запросы в базу данных и вывод контента), мы можем до загрузки страницы инициировать проверку наличия HTTPS в адресной строке и перенаправить на него, в случае отсутствия.

Обычно за роутинг отвечает корневой index.php. В нем может располагаться конструкция SWITCH–CASE или же вызов метода класса, который содержит в себе такую конструкцию. Также это может быть и абсолютно иной подход!

Для инициации проверки наличия HTTPS в адресной строке воспользуемся суперглобальным массивом $_SERVER

if(empty($_SERVER['HTTPS'])){
    $host = $_SERVER['HTTP_HOST'];
    $request_uri = $_SERVER['REQUEST_URI'];
    Header("Location: https://$host$request_uri ");
}

Логика очень проста: если отсутствует HTTPS, делать редирект на него и добавлять запрашиваемый URL (внутренняя страница или реф. ссылка сохраняется). А в ELSE мы перемещаем наши SWITCH–CASE.

PHP — делаем проверку наличия HTTPS или редирект


Понравилась статья "PHP — делаем проверку наличия HTTPS или редирект" из раздела Веб разработка » PHP кодинг? Подпишись на RSS. Будь в курсе всего происходящего на сайте
Комментариев: 0 •  Просмотров: 719   Дата: 30-мая-2017, 21:33

Похожие статьи

Комментарии

b
i
u
s
|
left
center
right
|
emo
color
|
hide
quote
translit

© 2010-2017 devarts.pro v 7.0: flexyflat tpl Designed by devarts
Карта сайта HTMLКарта сайта XMLПравообладателям
Яндекс.Метрика