FC2 ブログでのコメントスパム対策
ここ最近、エントリーに関係ないコメントスパムが増えてきています。
もちろん、禁止設定で弾く手段はありますが、IP が毎回違っていたらほぼ無意味なので、何かいい手は無いかと考えていたところ、思いついたのでご紹介。
この blog では、コメントする際に名前を必須にしているのですが、今日来たコメントスパムを見ていたら名前がなかったので、あれっと思ってたら、これは JavaScript で制御してるのでオフにしてると普通にコメントできるってことに気付きました。
ってことで、名前を必須にしている場合の簡易的なコメントスパム対策方法。
あくまでも簡易です。名前を入力しなかったコメントのみに有効です。
もちろん、禁止設定で弾く手段はありますが、IP が毎回違っていたらほぼ無意味なので、何かいい手は無いかと考えていたところ、思いついたのでご紹介。
この blog では、コメントする際に名前を必須にしているのですが、今日来たコメントスパムを見ていたら名前がなかったので、あれっと思ってたら、これは JavaScript で制御してるのでオフにしてると普通にコメントできるってことに気付きました。
ってことで、名前を必須にしている場合の簡易的なコメントスパム対策方法。
あくまでも簡易です。名前を入力しなかったコメントのみに有効です。
この方法は、名前が入力されていなかった場合はそのコメントをスパムと判断しますので、注意してください。
名前は必須項目ですよとコメント欄に注意書きを入れておくなり、 JavaScript で制御する方法が必要かと思います。
まず、HTML 中で実際に投稿されたコメントを表示している部分を探します。
<!--comment--> 〜 <!--/comment--> の中ですね。
この blog の場合、こんな感じになってます。
次に CSS に以下の記述を追加します。
あと、"最近のコメント" を表示している場合は、それも上と同じような方法で表示しないようにします。
これで、実際のコメントとしては投稿できてしまいますが、blog 上では表示されません。
管理者ページからは普通にコメントとして表示されます。
ただ、この方法だと "コメント (1)" といったコメント数と、実際に表示されているコメント数が違ってしまいますが・・・。
名前は必須項目ですよとコメント欄に注意書きを入れておくなり、 JavaScript で制御する方法が必要かと思います。
まず、HTML 中で実際に投稿されたコメントを表示している部分を探します。
<!--comment--> 〜 <!--/comment--> の中ですね。
この blog の場合、こんな感じになってます。
<div class="mainCommentBody"><%comment_body></div>この部分を <div> で囲み、class を設定します。
<div class="mainCommentDate"><%comment_year>/<%comment_month>/<%comment_day>(<%comment_wayoubi>) <%comment_hour>:<%comment_minute> | <%comment_url+str> | <%comment_mail+name> #<%comment_trip>[<a href="<%comment_edit_link>">編集</a>]</div>
<div class="writeby<%comment_name>"><%comment_name> は投稿者の名前を表します。この名前が空欄の場合のみ、class が "writeby" となります。
<div class="mainCommentBody"><%comment_body></div>
<div class="mainCommentDate"><%comment_year>/<%comment_month>/<%comment_day>(<%comment_wayoubi>) <%comment_hour>:<%comment_minute> | <%comment_url+str> | <%comment_mail+name> #<%comment_trip>[<a href="<%comment_edit_link>">編集</a>]</div>
</div>
次に CSS に以下の記述を追加します。
div.writeby {display:none;}これで、投稿者の名前が無かった場合はコメントを非表示にします。
あと、"最近のコメント" を表示している場合は、それも上と同じような方法で表示しないようにします。
これで、実際のコメントとしては投稿できてしまいますが、blog 上では表示されません。
管理者ページからは普通にコメントとして表示されます。
ただ、この方法だと "コメント (1)" といったコメント数と、実際に表示されているコメント数が違ってしまいますが・・・。
このエントリーのトラックバックURL
[トラックバックについて]
- このエントリーに関係ないと思われるトラックバックは適宜削除します。ご了承下さい。
- 重複トラックバックについては、特に削除依頼のコメント等は必要ありません。
このエントリーへのトラックバック





