3

我有一个网站,在那里我收到了很多垃圾评论。查看垃圾邮件的 IP 地址,它们主要来自那些不太可能有真人愿意与我的英语网站进行交互的国家,所以我简单地阻止它们是有意义的。

这应该很简单,但是如果来自这些国家/地区的流量实际上可以查看我的内容,而不是访问评论、注册等表格,我会很高兴。如此有效地,我希望允许他们发出 GET 方法请求,而不是 POST 方法请求。

理想情况下,我想在站点的 .htaccess 文件中执行此操作,而不是将其实际编码到为站点提供支持的 PHP 脚本中。经过一番搜索,我发现我认为正是我需要的:. 看来我可以完全按照上面的描述做:

# Block China, Russia etc. from POSTs and similar methods
<Limit POST PUT DELETE>
order deny,allow
deny from 210.5.214.128/29
deny from 210.89.69.160/28
# Hundreds more lines...
# My current IP (sample provided here, actual used in reality), to test
deny from 100.100.100.100
allow from all
</Limit> 

# Allow anyone to do GETs and HEADs
<Limit GET HEAD>
order deny,allow
allow from all
</Limit>

但这并没有达到预期的效果。我可以执行 GET 请求(根据需要),但 POST 仍然可以正常工作,我预计可能会出现 403 Forbidden 错误。

如果我不使用该标签并将我的 IP 放入拒绝列表,它会成功阻止我访问该站点(GET 和 POST)。

谁能告诉我我需要改变什么?

4

2 回答 2

3

像这样更改允许拒绝的顺序:

<Limit POST PUT DELETE>
order allow,deny
allow from all
deny from 210.5.214.128/29
deny from 210.89.69.160/28
# Hundreds more lines...
# My current IP (sample provided here, actual used in reality), to test
deny from 100.100.100.100
</Limit> 

<Limit GET HEAD>
order deny,allow
allow from all
</Limit>
于 2013-08-30T14:35:21.930 回答
0

阻止后端目录,例如:/wp-admin 除了允许 IP(即使您有密码)

<Limit POST PUT DELETE>
 order deny,allow
 deny from all
 #allow from localhost
 #allow from 127.0.0.1
 allow from xxx.xxx.xx.xx
</Limit>

# Allow anyone to do GETs and HEADs
<Limit GET HEAD>
 order deny,allow
 allow from all
</Limit>
于 2017-01-14T13:53:50.220 回答