传递和检索引用页url

  • 本文关键字:url 引用 检索 php url
  • 更新时间 :
  • 英文 :


所以我一直在写一个登录脚本,成功登录后,重定向到前一页。我已经看到了几种传递引用URL的方法:

  1. Using $_SERVER['HTTP_REFERER'] -发送整个referer URL。可能被操纵。

  2. $_GET并将引用者作为url参数传递。

  3. 在表单中使用隐藏字段。即使有POST,也不安全。

所以,因为方法2允许最大的灵活性,我选择它。问题是:如果我传递没有域的URL ('http://www.domain.com/'剥离),然后在重定向时手动添加域,我可以确保结果URL重定向留在我的域内吗?如果没有,我该怎么做才能确保它不会偏离方向?

(假设,如果结果url不存在,它将被重定向到主页)

, http://www.domain.com/login.php?ref=category/products/product - 1. - php 登录成功后,页面被重定向到'http://www.domain.com/'.$_GET['ref']

我知道应该做什么来验证referer url参数:

  1. ' . ./'可以帮助导航到上一个文件夹,如果有,必须删除。

  2. 在referer url参数中传递的所有标签必须被剥离

  3. 必须删除所有'://'。

几点提示:

  1. 你根本不需要提供域名重定向。所以不用麻烦了如果你不需要重定向到另一个域名。当然在$ref
  2. 中检查是否有域名是伪造的。
  3. 你可以在$ref中使用页面别名代替真实的url,并在重定向之前构造url。
  4. 唯一真正安全的方法是检查url与你的页面上真正存在的url

最新更新