Nonce! Pleaseタグの投稿

2008-07-07
くもり一時雨

スパム軽減プラグイン Nonce! Please 1.00 リリース

ゆりこ による 06:15:14 の投稿
カテゴリー: WordPressハック
タグ: , , ,

WordPress プラグインコンペ用に作っていたプラグインを公開します。名称は「Nonce! Please」をそのまま採用し、説明を「スパム軽減プラグイン」としました。コンペの趣旨に乗っ取り、説明ページを英文の固定ページで作っています。

動作は、コメント/トラックバック受け付け URL に nonce (ランダム文字列) を必須とする、ものです。nonce は12時間ごとに変化するため、スパマーがトラックバック URL を蒐集しても、送信時には無効になっていることが期待されます。コメントも、コメントフォームを使わずに直接 wp-comments-post.php に送信してくるようなものは拒否されるわけです。

ダウンロード: nonce_please100.zip (2.5KB)

リリースに時間がかかったのは単にドキュメントが書けてなかっただけです。今回、えいやっで英作文しまして、とりあえず形にしました。めちゃめちゃ稚拙な英文で恥しいですが、non-native が書く技術文書であれば、うまい/へたはあまり関係ないでしょうし……。

あとは、固定ページの体裁をもうちょっと整えて、コンペに参加するだけですね〰。実はもう1本ネタがあるので、これもさっさとでっち上げる予定です。

[追記 22:05] 固定ページは作ってあったものの「非公開」のままでした……。さきほど公開しました。せっかくなので、ダウンロードリンクをこの記事に入れておきます。

2008-06-09
晴れ一時雷雨

コメントスパム対策プラグイン製作中

ゆりこ による 22:57:12 の投稿
カテゴリー: WordPressハック
タグ: , , ,

WordPress プラグインコンペティション用にコメントスパム対策プラグインを作っていますが、当サイトで稼動させてみることにしました。実は旅行記の方で動かしていましたが、そちらはトラックバックがめったに来ないので運用テストにならないのです ;-)

すでに発表している「短かいコメントを拒否するプラグイン Reject Short Comments」とは違う発想のプラグインで、コメントやトラックバック用 URL に _wpnonce引数を付けるという仕組みです。WordPress はコメントやトラックバック受け付け URL が決め打ちのため、スパマーにとっては元記事を見ずにいきなりスパムを送り付けることが可能です。これを防ぐため、トラックバックURLをランダム化したり、コメントフォームの隠しフィールドとして _wpnonce を入れるという対策を行うものです。名前は安直に「nonce, please!」とする予定です。

この対策は万全なものでなく、あくまで「Akismet をできるだけ起動しなくてすむ」ようにするためものです。このため、Akismet 等、他のプラグインと併用が推奨です。正直なところ、このプラグインの実装は WordPress コアに取り込まれてもおかしくないと思っているぐらいです ;-)

まだドキュメントが書けていないので公開はできませんが、近日中にドキュメントを書いて公開する予定です。コンペの規約で、プラグインの紹介は投稿ではなく固定ページで行うこと、となっているので、当サイトで固定ページを増やす方向で検討したいと思います。他のプラグインの紹介も固定ページを作った方がいいのかな??

この手法の問題点は、キャッシュプラグインと相性が悪いということです。_wpnonce の値は半日ごとに変化するため、キャッシュが半日以上有効な場合、すでに無効となった _wpnonce を含むトラックバック URI が表示される可能性があります。したがって、キャッシュプラグインを使う場合は、キャッシュの有効期限を半日未満にしないといけないです。1/4 日 (6時間) 未満というのが安全でしょうか。

[追記] リリースしました。