【问题标题】:HTTP REFERER for parameter url参数 url 的 HTTP REFERER
【发布时间】:2014-10-23 20:05:45
【问题描述】:

假设我在页面下方添加此代码。那么,下面的代码只有在我从http://www.example.com/page.php 打开该页面时才有效,对吗?

if ($_SERVER['HTTP_REFERER'] != 'http://www.example.com/page.php') {
echo ('Direct Access is not allowed');
exit();
}

现在的问题是,如果 page.php 的 url 参数总是更改为另一个数字,我如何在上面的代码中设置链接?例如http://www.example.com/page.php?no=101&name=item0252

谢谢。

【问题讨论】:

  • 您究竟为什么需要这个?这不是一个典型或典型的明智之举。
  • @deceze 这是因为我设置的页面连接到需要点才能使用它的 API。我希望只有来自我网站的访问者可以访问该页面,因为当我的用户请求时我花费的每一分都是金钱,因为积分不是免费的 :)
  • @afzulnizam,你应该知道大多数$_SERVER["HTTP_x"]变量可以是spoofed。如果它们不能真正伤害到你,使用它们是没有问题的,但仅仅依靠它们是没有好处的。

标签: php


【解决方案1】:

仅获取查询字符串之前的引用部分:

array_shift(explode('?',$_SERVER["HTTP_REFERER"]))

但要知道,引荐来源很容易被伪造

【讨论】:

    猜你喜欢
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多