2011-07-05 44 views
1

它显示很多url为404未找到。当然,网址中存在格式不正确的查询字符串。当url有%符号时,http没有发现问题

http://www.example.com/ref=http%3A%2F%2Fwww.example.org/ 

Bbove url无法达到.htaccess验证。

RewriteRule ^(.*)$ index.php?request_url=$1 [QSA,L] 

如果该URL REACH /直通上述.htaccess规则,我可以简单地添加R=301,但该网址无法到达/ passingthrough是.htaccess规则,并显示404错误。

+0

嗨。请说明fixig的接受率 –

回答

0

它不会工作,因为这些网址已被编码,并且将被解码为(分别为%2F%5C分别为\)。 阿帕奇有安全限制对这些类型的请求 检查这些网址,以获取更多信息

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0450

http://securitytracker.com/id/1018110 (Look at section 4. Solution)

为了使其工作,要么通过解码请求或允许在Apache的配置AllowEncodedSlashes并重新启动Apache服务

http://httpd.apache.org/docs/current/mod/core.html#allowencodedslashes

相关问题