プログラマ ずんべ の日記

zunbe

プログラマ ずんべ の日記
プログラマ ずんべ の日記

探し物は見つかりましたか? サイト内検索を試してください。

ロボットミュージアム in 名古屋 ロボットミュージアム in 名古屋 総合科 総合科

2007/05/02

【技術開発】トラックバック・スパム対策

このエピソードの続き。

 2007/03/02 コメント・スパム対策
 2007/03/03 コメント・スパム対策(2)

このブログに対して書き込まれるコメント・スパム、トラックバック・スパムは相当な数になってきているが、コメント・スパムの方は、以前に行った対策で、ほとんど排除する事ができた。
しかしながら、トラックバック・スパムはフォームから送信されるわけではないので、フォームに仕掛けを入れる事ができず、どうしたものかと悩んでいた。

もちろん、Movable Type のスパム対策機能が働けば楽になるのだが、このブログを運用しているサーバは、インターネットからリバース・プロキシを介してアクセスされるので、アクセス元のIPアドレスがすべてプロキシ・サーバのIPアドレスになってしまっているため、この状態では、Movable Type のスパム対策機能が働かない。

仕方がないので、Movable Type のプログラムを修正して対応する事にした。
環境変数 REMOTE_ADDR を参照するのではなく、プロキシ・サーバから送られてくる、環境変数 X-FORWARDED-FOR を使用する様に変更しようと、ソースを追っていたのだが…。
あれ? プログラム中に、X-Forwarded-For ヘッダを参照してIPアドレスを取得しているコードがあるぞ。
コードによると、X-Forwarded-For ヘッダの値によって、変数 $TransparentProxyIPs に代入する値を切り替えている。
ソースを「TransparentProxyIPs」で grep してみる。
どうやら、この名称の設定が存在しているようだ。

Movable Type のマニュアルを調べてみる。
あった。

 Movable Type 3.2 マニュアル - 環境設定ファイル (mt-config.cgi)

このマニュアルに記載されている TransparentProxyIPs の説明文は…さっぱり意味がわからん(^^;が、これを 1 に設定すると、環境変数 X-FORWARDED-FOR からIPアドレスを拾ってくれるようだ。
どれどれ、設定して、コメント、トラックバックを送信してみる。

成功!
プロキシ・サーバのIPアドレスではなく、送信元のIPアドレスが記録された。
と、いう事で、プログラムの修正は必要なかった。

こんな設定があったとは。
ぜんぜん知らなかった。
ひとつおりこうさんになった。



このエピソードはいかがでしたか?

投稿者 zunbe : 2007/05/02 14:00:00


トラックバック 〔http://blog.zunbe.com/mt/mt-tb.cgi/632〕

コメント

コメントしてください






保存しますか?


スパム対策:
この入力フィールドに「730」と入力してください。


プログラマ ずんべ の日記:ずばヒット アマゾン