ФорумПрограммированиеPHP для идиотов → http / https detect ?

http / https detect ?

  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz Янв. 22, 2015, 6:05 д.п.

    собственно порт всегда 80
    $_SERVER['HTTPS'] нифига не дает
    any variants ?
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz Янв. 22, 2015, 8:58 д.п., спустя 2 часа 52 минуты 48 секунд

    какой сервер? работает напрямую или через прокси? если апач за нжинксом - нжинкс может проставлять свои заголовки, а может и не проставлять. глянь заголовки с помощью apache_request_headers()
    не всё полезно, что в swap полезло
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz Янв. 22, 2015, 8:53 п.п., спустя 11 часов 55 минут 8 секунд

    По мотивам Symfony2 Request:

        $components = parse_url($absoluteUri);
        if ('https' === $components['scheme']) {
            $_SERVER['HTTPS'] = 'on';
        }
    

    Не спрашивай меня откуда взялся $absoluteUri )))

    ιιlllιlllι унц-унц
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz Янв. 22, 2015, 9:03 п.п., спустя 10 минут 33 секунды

    Есть еще такой рецепт:

    function getRequestProtocol() {
        if(!empty($_SERVER['HTTP_X_FORWARDED_PROTO']))
            return $_SERVER['HTTP_X_FORWARDED_PROTO'];
        else 
            return !empty($_SERVER['HTTPS']) ? "https" : "http";
    }
    

    NB: Вместо HTTP_X_FORWARDED_PROTO может быть SSL_HTTPS.

    ιιlllιlllι унц-унц
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz Янв. 23, 2015, 1:39 д.п., спустя 4 часа 35 минут 14 секунд

    спс, вроде разобрались
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz Янв. 23, 2015, 4:07 д.п., спустя 2 часа 28 минут 48 секунд

    @Faster, а в чём дело-то было?
    не всё полезно, что в swap полезло
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz Янв. 23, 2015, 5:12 д.п., спустя 1 час 4 минуты 59 секунд

    $_SERVER['HTTP_X_FORWARDED_PROTO']
    переменную объявили

Пожалуйста, авторизуйтесь, чтобы написать комментарий!