如何在 .htaccess 中阻止对以 /trackback/ 结尾的 url 的 POST 请求?
How can I block POST requests to urls ending with /trackback/ in .htaccess?
我想阻止对网站上特定 URL 的 POST 请求。这是来自我的 Apache 日志的垃圾 POST 请求示例:
110.86.178.xxx - - [14/Jan/2015:17:05:05 +0000] "POST /profile/example/trackback/ HTTP/1.1" 200 85 "http://example.com/profile/example/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )"
我在 .htaccess 文件中添加了以下代码:
# deny POST requests
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteRule /profile/example/trackback/ [F,L]
</IfModule>
不幸的是,我仍然收到引用通告电子邮件,所以它不起作用。
这是什么问题,我该如何解决?
此外,我如何修改代码以阻止发送到以 /trackback/
结尾的网址的所有 POST 请求
谢谢!
您可以在 root .htaccess 中使用此规则:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteRule (^|/)trackback/?$ - [F,NC]
试试:
# deny all POST requests
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteRule .* - [F,L]
</IfModule>
更多信息here。
我想阻止对网站上特定 URL 的 POST 请求。这是来自我的 Apache 日志的垃圾 POST 请求示例:
110.86.178.xxx - - [14/Jan/2015:17:05:05 +0000] "POST /profile/example/trackback/ HTTP/1.1" 200 85 "http://example.com/profile/example/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )"
我在 .htaccess 文件中添加了以下代码:
# deny POST requests
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteRule /profile/example/trackback/ [F,L]
</IfModule>
不幸的是,我仍然收到引用通告电子邮件,所以它不起作用。
这是什么问题,我该如何解决? 此外,我如何修改代码以阻止发送到以 /trackback/
结尾的网址的所有 POST 请求谢谢!
您可以在 root .htaccess 中使用此规则:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteRule (^|/)trackback/?$ - [F,NC]
试试:
# deny all POST requests
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteRule .* - [F,L]
</IfModule>
更多信息here。