【发布时间】:2011-04-06 09:19:06
【问题描述】:
我在 PHP 中有一个登录脚本,我将客户端重定向到该脚本。当客户端登录时,我想将用户返回到 302 将他重定向到登录页面的页面。
我想保持 url 尽可能干净(最好只有 /login),我不想使用 cookie,比如会话 cookie。
我试图依赖$_SERVER['HTTP_REFERRER'],但我有一个问题,当我单击需要登录的链接时,$_SERVER['HTTP_REFERRER'] 设置为单击链接的页面,而不是目标页面发送 302 重定向。 (FF4)
如果$_SERVER['HTTP_REFERRER'] 未设置(https、书签或其他),那么我会将 GET url 与返回 url (/login/return/myurl) 混淆。对于所有其他情况(浏览器在重定向到 /login 的请求上提供 HTTP_REFERRER),我真的想完全依赖 $_SERVER['HTTP_HEADER'] 来生成一个干净的 url。
有什么方法可以礼貌地要求浏览器使用重定向标头发送“正确”的引荐来源网址,还是我坚持堵塞所有重定向的 url?
【问题讨论】:
-
不要依赖
HTTP_REFERER。
标签: php http http-headers