◎ 【リファラー編】 機械的に送られてくるコメントスパムを受信拒否しよう (BlognPlus版)
目的
コメントスパム対策1では、全角文字が使えないお国からのコメントを弾く方法を説明しましたでも、それだとアメリカなどの海外のお友達や、
お仕事関係の人たちとのやり取りに支障が出てきてしまうと思われるので、
異なる方法のスパム対策を説明します。
自分のサイト上からのコメント投稿以外は受付けない… そんな改造法。
1箇所に追記するだけのお手軽対策なので、お試しあれ
作業に入る前の注意点
この改造をするにあたり、BlognPlus(ぶろぐん+)スクリプト本体の index.php をいじることになります。
間違えるとブログが壊れる可能性もあるのでphp初心者で自信が無い…という人は
バックアップをしっかり取って作業するか、もしくは諦めた方が無難です(^^;
壊れても当方は責任を取りませんので自己責任で作業してくださいネ
動作確認サーバー: ロリポップ!
ぶろぐんVer: 2.2.4/2.3.2
コメントスパム対策の改造説明
作業としてはこの1つ(1) index.php への追記
(1) index.phpの修正
ぶろぐんプラススクリプトの index.phpファイル を開いてください。「コメント入力処理」の所に ここから~ここまで(下記テキストエリア内のソース) を追加します
284行目位 //----------------------------------------- コメント入力処理#ソース行数はぶろぐんのバージョンによって変わるので目安程度にしてください
285行目位 function blogn_input_comment($user, $entry_id, $name, $email = "", $url = "", $mes, $set_cookie, $ip, $agent) {
286行目位 $errflg = false;
287行目位 $utf_name = blogn_mbConv($name, 0, 4);
288行目位 $utf_email = blogn_mbConv($email, 0, 4);
289行目位 $utf_url = blogn_mbConv($url, 0, 4);
290行目位 $utf_mes = blogn_mbConv($mes, 0, 4);
292行目位 if (!$entry_id || !$utf_name || !$utf_mes) {
293行目位 // エラー処理
294行目位 //HTTPヘッダ送信
index.phpを保存し、FTPソフト等を使用して上書きアップロードすれば完了です(^^)b
これでブログ上からのコメント投稿のみ受付けるようになります。
お疲れさまでした。
# お手軽に対策~ を条件に改造法を説明しましたが、このやり方だと
# スパム業者にまた悪策を練られてしまえば、抜け道はできてしまいます( ̄  ̄;
# んでも今のところは効果大。 軽いしね
問題点
この方法は、コメントが送信された時のリファラーを見てチェックしています。ちなみにリファラーというのは、 どこのページから移動してきたかが分かるものです。(参考:リファラー)
自分のブログ上からコメントが書き込まれたなら、
リファラーには自分のブログのURLが設定されています。
スパム業者はプログラムで一斉にスパムコメントを送信している為、 このリファラーが正しくありません。
これを利用して、リファラーが正しくないコメントをスパムと判断して弾いています。
ところが、ごくまれにリファラーを出さないブラウザがあります。
また、アンチウイルスソフトの設定によっては、やはりリファラーを出さない場合があります。
そんなブラウザやPCを使用している人は、普通にコメントをしても弾かれちゃうのですが…
ただ一般的に、リファラーがないと利用できないウェブサービスが
世間には山ほどあるので、普通の人は出すようになっていると思います。
…なのでまあ、いいかな、と(汗
もし それじゃイカン! という場合は
手順が増えますけど Hiddenタグを使ったコメントスパム対策 をご覧くださいマセ
