我正在尝试构建一个应用程序,我需要检查重定向到此页面的引用URL,引用的页面将不会显示...当它是一个按钮但是当页面从另一个页面重定向时,它会起作用,它仍然是空白的。 我怎么能这样做?
答案 0 :(得分:3)
它会/可能是空的:
- 当最终用户在浏览器地址栏中输入网站URL时。
- 通过浏览器维护的书签访问该网站。
- 在窗口/标签页中作为第一页访问了该网站。
- 从https网址切换为http网址。
- 从https网址切换到其他https网址。
- 安装了安全软件(防病毒软件/防火墙/等),可以从所有请求中删除引荐来源。
- 位于代理商的后面,代理商会从所有请求中删除引荐来源。
- 以编程方式访问网站(例如,curl),而不是通过@BalusC设置引荐来源标题(searchbots!)
也就是说,你不会总是有一个推荐人地址。所以你完全不能相信推荐人的地址。
例如:
有一个小漏洞,每个人都可以轻松地做到这一点:
转到任何网站,并注入表单代码,将数据从此站点发送到另一个站点,这样命运站点将从注入的站点接收数据,而不是从您那里接收数据。
永远不要信任推荐人地址。使用 SESSION 很可能是阻止提交跨网站表单的更好途径。
我建议阅读:
答案 1 :(得分:0)
您可以在标题中设置一个带有引用URL的值的cookie,该值在5秒后到期,然后在新脚本中获取并重定向回到引用者
像这样:
$current_url= base64_encode($url); //$url should point to the current url
setcookie("referrer",$current_url,time()+5);
现在,您可以使用以下命令在下一个脚本中获取存储的URL:
$referrer= base64_decode($_COOKIE['referrer']);
并使用以下方式重定向:
header('Location: '.$referrer);