Проверьте реферер на определенный URL - PullRequest
0 голосов
/ 19 ноября 2010

В верхней части каждой страницы моего сайта есть перенаправление устройств PHP, которое я хочу отключить, если страница была достигнута с определенного URL.

Как отключить этот PHP, если пользователь зашел на эту страницу, нажав http://www.mysite.com/mobile

Этот URL может измениться, то есть: http://www.mysite.com/mobile/blah/blah или http://mysite.com/mobile/blah/

Мне просто нужно проверить часть «mysite.com/mobile».

Ответы [ 3 ]

2 голосов
/ 19 ноября 2010

Вы можете использовать либо:

$ _ SERVER ['REQUEST_URI'] и $ _SERVER ['REQUEST_URL']

В основном вы хотите проверить, где вы находитесьв:

if($_SERVER["REQUEST_URI"]!="/mobile/index.php"){
    header("location: ");
    exit;
}
0 голосов
/ 19 ноября 2010
 <?php 
 echo $HTTP_REFERER; 
 ?> 

Ссылка на страницу найдена с помощью переменной $ HTTP_REFERER.Это быстрый способ узнать, откуда люди переходят на ваши страницы.Как только вы знаете эту информацию, вы также можете фильтровать пользователей на ее основе.Например, вы можете разрешить только пользователям, заходящим с одной из ваших ссылающихся страниц, использовать раздел загрузок и т. Д. К сожалению, $ HTTP_REFERER небезопасен.Некоторые браузеры не отправляют эту информацию, или могут быть сделаны, чтобы отправить ложную информацию.Об этом следует помнить при работе с $ HTTP_REFERER.

0 голосов
/ 19 ноября 2010

Вам нужно взять реферера из шапки.Например, проверьте, равен ли @ $ HTTP_REFERER значению 'http://www.mysite.com/mobile', и затем введите соответствующий код.

Если URL-адрес ссылки изменится, то вам может потребоваться скомбинировать реферер для поиска хоста и определенных путей, таких как «/ mobile».Если это не так, и у вас есть постоянный список возможных ссылающихся URL-адресов, вам просто нужно просмотреть циклы URL-адресов и сравнить их с переменной @ $ HTTP_REFERER.

...