User-Agentでコメントスパム対策を実施していますが、個別記事のページにアクセスしてから、コメントを投稿するスクリプト(mt-comment.cgi)のアドレスを特定してコメントを投稿するような流れになっています。
コメントを投稿するのにキャプチャ認証を設定していますので、闇雲にコメント投稿されても拒否されてスパムコメントは入ってこないんですけどね。
mt-comment.cgiへのアクセスを拒否しても、個別記事へのアクセスが鬱陶しいので、それらしいUser-Agentからのアクセスは、全て拒否してログにも残さないように、apacheのhttpd.confを変更しました。
古いブラウザからのアクセスも怪しいので拒否する設定にしていますが、YahooのロボットでMSIE 5.5となっているのがありますね・・・。YahooFeedSeekerJp/2.0というロボットですが、たいした影響はないと思っているので、そのまま拒否しています(汗)。
動画の規格でWebMというのがあり、HTML5で作成したサイトで簡単に公開できるようです。
参考URL : WebM - Wikipedia
私が使っているAdobe Premiere Elements 10では、WebM形式の動画に書き出すことが出来ませんので、動画の変換ソフトを使う必要があるようです。
Miro Video Converterというソフトをインストールして、WebM形式の動画に変換してみましたが、ファイルサイズが小さいのは良いですが、画質が悪いのであまりお勧めできません・・・。そこで、XMedia Recodeをインストールして変換してみると、こちらはファイルサイズが大きくなってしまいますが、画質は綺麗なのでこちらの方が良さそうです。
また、IE9(Windows 7/Vista)でWebM形式の動画を再生するには、別途プラグインのインストールが必要です。このプラグインをインストールすると、Windows Media PlayerでもWebM形式の動画を再生できるようになります。
プラグインは、まだプレビュー版ですが、WebM for IE9からダウンロード可能です。
なお、ApacheのMIMEタイプに拡張子webmを追加しないと、ブラウザでアクセスしても再生不可です。
Webminで設定する方法。
- サーバ→Apache Web サーバ→グローバル設定→MIMEタイプ→新しいMIMEタイプを追加
- MIMEタイプにvideo/webm、拡張子にwebmを入力して保存。
さくらのVPSでCentOSを使っていて、HTML5のvideo再生が出来ず、ちょっとハマったのでメモ。
ApacheのMIMEタイプで、拡張子mp4の設定がなかったので、追加したら再生できるようになりました(汗)。
Webminで設定する方法。
- サーバ→Apache Web サーバ→グローバル設定→MIMEタイプ→新しいMIMEタイプを追加
- MIMEタイプにvideo/mp4、拡張子にmp4を入力して保存。
videoタグについては、<video>タグで動画を埋め込む-HTML5リファレンスを参照いただければわかり易いと思います。
iptablesでスパム排除をしましたが、日本やその他の国からもスパムはやってくるので、apacheのhttpd.confに下記のような設定をしています。
SetEnvIf User-Agent "^$" deny_ua
SetEnvIf User-Agent "Trackback" deny_ua
SetEnvIf User-Agent "Windows 3¥.1" deny_ua
SetEnvIf User-Agent "Windows 95" deny_ua
SetEnvIf User-Agent "Windows 98" deny_ua
SetEnvIf User-Agent "Windows 2000" deny_ua
SetEnvIf User-Agent "Nutscrape" deny_ua
SetEnvIf User-Agent "User-Agent" deny_ua
SetEnvIf User-Agent "USERAGENT" deny_ua
SetEnvIf User-Agent "libghttp" deny_ua
SetEnvIf User-Agent "^tb_send/1¥.0" deny_ua
<Directory "/var/www/html/mt">
<Files ~ "¥.cgi">
Order allow,deny
Deny from env=deny_ua
Allow from all
</Files>
</Directory>
緑色の(/var/www/html/mt)は、環境に合わせて変更してください。
古くてサポートが切れているWindows系のOSを拒否していますが、場合によっては、古いブラウザIE5等も拒否しても良いかもしれません。
Internet Explorer 9をインストールして使用していますが、Movavle Typeの管理画面がIE9に対応していない為、表示が正常に出来ない所があります。
metaタグで対応するのは面倒なので、apacheの設定ファイル(httpd.conf)を変更して対応することにしました。
viでhttpd.confを開き、LoadModuleが記述されている所の下に、
Header set X-UA-Compatible "IE=8"
の1行を追加しました。
サーバー移転後、wwwありとなしで違うページが表示されていました。
バーチャルホストの設定をしているのが原因だったようで、
[Apache-Users 5005] Re: wwwなしのURLからwwwありのURLへのリダイレクト
の内容を参照して解決しました。
トラックバックスパムが多くなってきたら、mt-tb.cgiをmt-tb-2007.cgiというようにな対策をしていました。
しかし、最近になってスパマーも進歩しているようで、renameしてから数時間後には、rename後のアドレスにスパムがくるようになってしまいました。
アクセスログを見ると、トラックバックスパムを送信しているプログラムのUser Agentは、TrackBack/1.02やlibghttp/1.0と名乗っていますので、これをバッサリとアクセス拒否することにしました。
Apacheの設定ファイル(httpd.conf)に以下のような記述を追加しました。
BrowserMatch "TrackBack/" TB_SPAM
BrowserMatch "libghttp/" TB_SPAM
<Location /cgi-bin>
Order allow,deny
allow from all
deny from env=TB_SPAM
</Location>
User Agent名を偽称されない限り、この方法でしばらくは安泰な日々が続くと思います・・・。