【发布时间】:2013-09-11 10:36:57
【问题描述】:
我不想让用户在网络浏览器中手动键入 URL。 它可能导致黑客攻击。 所以如果 http referer 为空,它应该重定向到主页。
我在 drupal web 应用程序的 index.php 中编写了这个 php 代码。
if($_SERVER["HTTP_REFERER"] == "")
{
header("Location:http://mysite.com");
}
问题是循环无限继续。它从不显示主页。 $_SERVER["HTTP_REFERER"] 始终为空。
在 Firefox 中,我收到以下错误。 页面未正确重定向 Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。
如何解决?
【问题讨论】:
-
任何想要入侵您网站的人都可以轻松欺骗引用标头,并且在许多合法情况下不会发送该标头。放弃这种方法。
-
HTTP_REFERER 不会为空,如果“黑客”从他们的网站上请求您的网站,那么它不会让您免于“黑客攻击”,而且它会让您更加头疼,根据你的帖子。考虑改变方式。
-
了解基本的网络安全,您可以轻松解决这个问题。
-
好的。一疑。 index.php [从 header("Location:localhost") 重定向后] 中的 $_SERVER["HTTP_REFERER"] 的值是多少?
-
毫无疑问。 php.net 的文档:
Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.php.net/manual/en/reserved.variables.server.php
标签: php .htaccess drupal redirect