【问题标题】:$_SERVER['http_referer'] vs .htaccess deny all allow 1$_SERVER['http_referer'] vs .htaccess 拒绝所有允许 1
【发布时间】:2012-06-27 15:30:05
【问题描述】:

我很好奇使用全局$_server['http_referer'] 拒绝访问和使用带有deny from all/allow from ip.htaccess 的区别

是否都可以以相同的方式绕过,或者 .htaccess 是一种基于引用停止访问的安全方式?

亲切的问候,

【问题讨论】:

  • 您考虑使用这些的最终目标是什么?
  • 当网站使用查询字符串指向我们以表示是或否时,将使用此方法,通过限制仅来自其网站 ip 的引用者,我们可以阻止人们伪造查询字符串值?因为只有他们的网站/代码生成的链接才能通过检查,对吧?
  • 查看我的更新答案以解决此需求。

标签: php .htaccess http-referer


【解决方案1】:

$_SERVER['HTTP_REFERER'] 很容易被欺骗,因此对于任何不平凡的事情都依赖它不是一个好主意。

将 .htaccess 与 deny from all/allow from ip 一起使用更好更好,因为它限制了对您指定的 IP 列表的访问。但是,如果您允许整个块访问您的站点,这将开始失败。那么这可以通过使用代理轻松解决。

因此,两者都不是阻止某人访问您网站的完美解决方案。

更新

根据您的评论,您应该考虑一种只有您自己知道的引荐网站的身份验证方法。基本上,他们应该向您传递一个散列,该散列是根据每个请求更改的秘密值创建的。这样他们就不会被欺骗,并且您可以确定请求是合法的。

【讨论】:

  • 我认为 .htaccess 会更好,因为它在 apache 级别而不是 PHP 上。但是,两者都可以绕过。
  • 我正在运行 zend,我想要限制的网站区域不是真正的目录,而是在 zend 中创建的路由,有没有办法设置一个受规则影响的 url .ht 访问?还是 .htaccess 只影响其子目录中的那些?
猜你喜欢
  • 2011-07-02
  • 2012-04-14
  • 1970-01-01
  • 2014-10-23
  • 2016-02-09
  • 1970-01-01
  • 2014-09-03
  • 2015-09-06
  • 2017-02-20
相关资源
最近更新 更多