получить страницу, которую пользователь просматривал до текущей - PullRequest
3 голосов
/ 21 октября 2009

вместо

login.php?ref=http://mysite.com/lastpage

Могу ли я получить предыдущую страницу как-нибудь еще? пробовал HTTP_REFERER, но не могу заставить его работать

Notice: Undefined index: HTTP_REFERER in C:\test\login.php on line 18

// Новичок

Ответы [ 3 ]

4 голосов
/ 22 октября 2009

HTTP_REFERER (и почти все остальные переменные $ _SERVER) не являются надежным средством получения предыдущих страниц, поскольку их легко подделать.

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

1 голос
/ 22 октября 2009

HTTP_REFERER не всегда установлен, поэтому вы получаете уведомление. Браузер может отказаться от его отправки, или пользователь мог ввести URL-адрес непосредственно в свой браузер. Вы можете поместить это значение в сеанс , который имеет другие недостатки (например, несколько вкладок в браузере имеют одну и ту же страницу реферера). Я думаю, что URL-адрес по-прежнему лучший способ, если вы не нет формы, к которой вы можете добавить скрытое поле.

РЕДАКТИРОВАТЬ Кстати: не используйте URL в параметре get вслепую, который может быть снова подделан другими, как объяснено в ответах на этот другой вопрос .

0 голосов
/ 22 октября 2009

Используйте $ _SERVER ['HTTP_REFERER'] следующим образом:

$ исх = $ _ SERVER [ 'HTTP_REFERER']

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