3

我的服务器是 Linux 服务器,经销商是我的。所以我也可以到达 WHM 面板。

当 GET 数据出现时:

a.php?url=http://www.domain.com

返回 403 禁止。

但如果数据是这样的:

a.php?url=www.domain.com

它正在工作。

因此,http://生成错误。我该如何解决?

此外,这将返回 403 Forbidden :

a.php?url=http%3a%2f%2fwww.domain.com

谢谢。

4

4 回答 4

5

这绝对是mod_security CoreRules 之一。我在以前的主机上遇到了同样的问题。但是我不记得规则名称。

您应该调查核心规则版本。2.1.1 将是最新的,并且可能已经放松了那个特殊的过滤器。如果更新或重新配置没有帮助,您将不得不 base64_encode() 您的 url 参数(更简单的编码被 mod_security 嗅探)。

SecFilterDebugLog /var/log/apache2/modsec_log
SecFilterDebugLevel 4

启用 mod_security 的调试日志记录,因此您可以找出实际导致问题的规则 - 如果您想禁用它(建议)。 http://www.modsecurity.org/documentation/modsecurity-apache/1.9.3/modsecurity-manual.html#07-logging

于 2011-02-15T03:09:26.303 回答
0

是 mod_security 的 10_asl_rules.conf 导致了这个错误。

这是 .htaccess 正在接收该 URL 中的某些内容并发送禁止的标头。

于 2011-02-21T10:13:01.470 回答
0

您需要对查询字符串进行编码,使其有效,请参阅urlencode()

于 2011-02-09T22:02:04.137 回答
0

回复:404 - 也许您正在将查询字符串重写到某处的路径,并且您没有启用 AllowEncodedSlashes?

于 2011-02-14T15:54:43.893 回答