403 Forbidden Error While Sending GET Data

别说谁变了你拦得住时间么 提交于 2019-12-02 01:40:59

问题


My server is Linux server and reseller is mine. So i can reach WHM panel, too .

When GET data comes like :

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

return 403 Forbidden.

But if data comes like this :

a.php?url=www.domain.com

it's working.

So, http:// generating an error. How can i fix it ?

Also, this is returning 403 Forbidden :

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

Thanks.


回答1:


This is definitely one of the mod_security CoreRules. I've had the very same issue on my previous host. I don't remember the rule name however.

You should investigate the core rules version. 2.1.1 would be current, and might have relaxed that peculiar filter. If updating or reconfiguring doesn't help you would else have to base64_encode() your url parameter (simpler encodings are sniffed by mod_security).

SecFilterDebugLog /var/log/apache2/modsec_log
SecFilterDebugLevel 4

Enables the debug logging of mod_security, so you can find out which rule actually caused the issue - if you want to disable it (advisable). http://www.modsecurity.org/documentation/modsecurity-apache/1.9.3/modsecurity-manual.html#07-logging




回答2:


You need to encode the query string so that it is valid, see urlencode()




回答3:


re: 404 -- perhaps you're rewriting the query string to the path somewhere, and you don't have AllowEncodedSlashes on?




回答4:


It is mod_security's 10_asl_rules.conf causing this error.

It is the .htaccess is picking up on something in that URL and sending forbidden headers.



来源:https://stackoverflow.com/questions/4951011/403-forbidden-error-while-sending-get-data

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!