$ _SERVER ['HTTP_REFERER'] не работает в IE - PullRequest
0 голосов
/ 31 октября 2018

У меня есть следующий код для определения URL, используемого для загрузки страницы, он работает во всех браузерах, кроме IE.

Это известная проблема?

if(isset($_SERVER['HTTP_REFERER'])) 
    {
    //correct domain:
    $domain=parse_url($_SERVER['HTTP_REFERER']);
    if( strpos($ar['host'], 'mydomain.com') === false )
        {
        } 
        else 
        {
        echo $domain['host'];
        }
    }

Есть ли другой способ получить URL, который использует пользователь? По сути, мне нужно знать, какой URL-адрес ввел пользователь, чтобы определить, что отображать на экране.

1 Ответ

0 голосов
/ 31 октября 2018

Это известная проблема?

Да

'HTTP_REFERER'

адрес страницы (если есть), на которую ссылается пользовательский агент для текущей страницы. Это устанавливается пользовательским агентом. Не все Пользовательские агенты установят это, а некоторые предоставляют возможность изменять HTTP_REFERER как функция. Короче говоря, этому нельзя доверять.

Также вышеперечисленное отличается от того, что вы хотите:

Есть ли другой способ получить URL, который использует пользователь? По сути, мне нужно знать, какой URL пользователь ввел, чтобы определить что отображать на экране.

REQUEST_URI - это то, что вы ищете:

'REQUEST_URI'

URI, который был указан для доступа к этой странице;

Источник: http://php.net/manual/en/reserved.variables.server.php

Также см .: Получить полный URL в PHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...