我正在尝试使用以下方法限制可以在请求 URI 中使用的字符:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^([a-z0-9:/\.\_\-]) [NC]
RewriteRule ^.* - [F,L]
由于某种原因,它无法工作。有什么想法吗?
谢谢!
答案1
好问题。这是防范 XSS(跨站点脚本)的好方法。
这是解决方案:
RewriteEngine on
RewriteCond %{REQUEST_URI} [^a-z0-9\_\:\/\.\-] [NC]
RewriteRule () - [F,L]
更短的等价形式是:
RewriteEngine on
RewriteRule [^a-z0-9\_\:\/\.\-] - [F,L]