3

私はかなり多くのコメント スパムを受け取っている Web サイトを持っています。スパムの送信元の IP アドレスを見ると、ほとんどの場合、実際の人間が私の英語の Web サイトと対話する可能性が低い国から来ているため、単純にブロックすることに意味があります。

これは非常に簡単なはずですが、コメントや登録などのフォームにアクセスするだけでなく、これらの国からのトラフィックが実際に私のコンテンツを表示できるようにしたいと考えています。したがって、事実上、GET メソッドのリクエストを許可したいのですが、POST メソッドのリクエストは許可したくありません。

理想的には、サイトを強化する PHP スクリプトに実際にコーディングするのではなく、サイトの .htaccess ファイルでこれを行いたいと考えています。少し検索した後、まさに必要なものだと思っていたものを見つけました: . 上記のように、次のように正確に実行できるように見えました。

# 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 要求を実行できますが、おそらく 403 Forbidden エラーが発生する可能性がある POST も通常どおり機能します。

タグを使用せず、自分の 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 に答える