20
2月
0

個人的メモ

ここに設置している掲示板系CGIに対するスパム投稿でサーバーに結構負荷が掛かるので、.htaccessを使用してmod_rewriteを導入してみました。

RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST [NC]
RewriteCond %{REQUEST_URI} .*\/supportbbs\.cgi.* [OR]
RewriteCond %{REQUEST_URI} .*\/cmfthread\.cgi.* [OR]
RewriteCond %{REQUEST_URI} .*\/cmfbbs\.cgi.*
RewriteCond %{REMOTE_HOST} !.*\.ohtanz\.com$ [NC]
RewriteCond %{REMOTE_HOST} !.*\.nifty\.com$ [NC]
RewriteCond %{REMOTE_HOST} !.*\.bbtec\.net$ [NC]
RewriteCond %{REMOTE_HOST} !.*\.jp$ [NC]
RewriteRule ^.*$ – [F]
RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST [NC]
RewriteCond %{REQUEST_URI} .*\/supportbbs\.cgi.* [OR]
RewriteCond %{REQUEST_URI} .*\/cmfthread\.cgi.* [OR]
RewriteCond %{REQUEST_URI} .*\/cmfbbs\.cgi.*
RewriteCond %{HTTP_REFERER} ^http\:\/\/www\.slim-lovely\.net.* [NC]
RewriteRule ^.*$ – [F]

↑を上から順に説明しますと、
REQUEST_METHODがPOSTで、
REQUEST_URIがsupportbbs.cgi、cmfbbs.cgi、cmfthread.cgiの何れかで
REMOTE_HOSTが自ホスト、Nifty、YahooBB、その他jpドメインなプロバイダ(ホスト名)以外(逆引き不可も含む)の場合は403エラー(Forbidden)にする。

または

REQUEST_METHODがPOSTで、
REQUEST_URIがsupportbbs.cgi、cmfbbs.cgi、cmfthread.cgiの何れかで
HTTP_REFERERがhttp://www.slim-lovely.netの場合は403エラー(Forbidden)にする。

という設定です。

こうすることで海外からのスパム投稿とご丁寧に毎回http://www.slim-lovely.netなリファラーを残していく悪質なスパマーをブロックできます。

掲示板側でほぼスパムをブロックできていましたが、CGI自体が動いてしまうので、少しでもサーバーの負荷を軽減するための処置です。

mod_rewriteが使えるサーバーの方はお試しあれ。

Enjoyed reading this post?
Subscribe to the RSS feed and have all new posts delivered straight to you.
Post your comment

Powered by WP Hashcash




Celadon theme by the Themes Boutique