如何在网址中阻止<>;()“等符号,但在DNS(www.xyz.com)之后。 我正在使用 httpd apache文件和两个位置块。一个用于根(/),另一个用于位置/登录。
我试过--- 位置/>
AddOutputFilterByType DEFLATE application/x-javascript application/javascript
RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*(<|>|%3C|%3E|;|\(|\)|%3A|%3B).*
RewriteRule ^(.*)$ - [F]
RewriteCond %{REQUEST_URI} ^/?$ [NC]
RewriteRule ^(.*)$ /home/homepage.html [R,L]
RewriteCond %{THE_REQUEST} ^.*(<|>|%3C|%3E).* [NC]
RewriteRule ^(.*)$ - [F]
/Location>
除了query_string部分之外,一切正常。 如果我在问号后传递任何恶意内容,那么它仍然会重定向到登录或主页或所需页面。
为此,我添加了以下代码 -
RewriteCond %{QUERY_STRING} ^.*(<|>|%3C|%3E|;|\(|\)|%3A|%3B).*
RewriteRule ^(.*)$ - [F]
但现在,登录页面无法访问。 请帮我写一个简单的代码,以便web-server阻止URL,如果有任何特殊的char来自www.xyz.com /