2

可能重复:
发送 GET 数据时出现 403 禁止错误

当 $_GET 变量包含值“ http://abc.com ”时,页面返回“禁止访问。您无权访问此服务器上的 /get.php。”

您可以在http://softwareholic.com/get.php尝试一下(使用 var_dump($_GET); 输出)

这些没问题

softwareholic.com/get.php?link=123 //output: array(1) { ["link"]=> string(3) "123" } 
softwareholic.com/get.php?link=http:// //output: array(1) { ["link"]=> string(7) "http://" }

这些会失败

softwareholic.com/get.php?link=http://google.com  
softwareholic.com/get.php?link=http%3A%2F%2Fgoogle.com  

问题是他们在我的本地主机和 Downtownhost.com 上工作。该问题仅出现在 hostgator.com 上。我还删除了 .htaccess 以缩小范围。

有任何想法吗?

4

1 回答 1

1

您的主机正在执行403安全措施,可能是为了防止Open Redirect漏洞。

你真的需要用户重定向到任何给定的 URL 吗?如何将可能的 URL 存储在数据库表中,并在查询字符串中传递 ID,然后查找和重定向。

于 2012-11-21T11:06:50.420 回答