如何阻止POST请求到以/ trackback / .htaccess结尾的网址?

时间:2015-01-14 19:14:39

标签: apache .htaccess

我想阻止对网站上特定网址的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 /

结尾的URL的所有POST请求

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以在root .htaccess中使用此规则:

RewriteEngine On

RewriteCond %{REQUEST_METHOD} POST
RewriteRule (^|/)trackback/?$ - [F,NC]

答案 1 :(得分:1)

尝试:

# deny all POST requests
<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_METHOD} POST
    RewriteRule .* - [F,L]
</IfModule>

更多信息here