内で設定されているセキュリティフレーズによる、各種SPAM対策、CSRF対策を行っています。ここではその対策の仕組みについて紹介します。安全なサイト運用のためにセキュリティフレーズは必ず書き換えてください。●以下の「秘密の言葉」を必ず書き換えてください。adiaryのトラックバックURLは次のようになっています。http://adiary.org/man/09/tb/7Tv手前から「09」は記事番号、「tb」はトラックバックを識別するための記号、「7Tv」がセキュリティーコードです。adiaryの記事番号は通し番号ですから総当たりなどの方法で適当な記事にトラックバックSPAMを送れてしまいそうです。実際、この数字を書き換えてトラックバックを送信するとどうなるでしょうか。エラーになってしまいます。セキュリティーコードは上で設定したセキュリティーフレーズと記事番号から一定の法則で計算され、このコードが一致しないとトラックバックが送信できないようになっています。ここで大切なのことはセキュリティーフレーズが分からなければ、セキュリティーコードを計算できないということです。最初のうちは成功してしまいますが、1日も経てば失敗します。このセキュリティーコードは(デフォルトでは)8時間ごとに変更され、最大16時間経つと使用出来なくなります。実はこれも難しいように作れています。試しに(ログオフした状態で)JavaScriptをオフにして記事を表示してみてください。表示が次のように切り替わるはずです。http://adiary.org/man/09/tb/※お手数ですが、SPAM防止のためURLの後ろに「7Tv」を追加してください。JavaScriptを解釈できないロボットはこのメッセージを認識してトラックバックURLを構築する必要があります。よってSPAMロボットが相当賢く作ってないとトラックバックURLを知ることができません。adiary専用のトラックバックURL解読エンジンを作られれば負けてしまいますが、それをするメリットがあるとは到底思えませんし、その手のものが登場した瞬間に対策方式を変更するのでロボット側はかなり無力です。コメントのSPAM対策JavaScriptオフで記事を表示させた人は気づいたと思いますが、コメント欄にも同様のSPAM対策が施されています。幾度となくSPAMロボットがやってきていますが、(対策以後)ロボットが書き込みに成功した例はありません。CSRF対策いわゆるCSRF攻撃対策のためにも、セキュリティフレーズが使われています。セキュリティーフレーズを使ってセキュリティーコードを生成しています。このセキュリティーコードはフォームを送信する際に必ず埋め込まれ、この値が一致しない限りフォームを受け付けない仕組みになっています。弊害として、日記を書いている最中にログアウトしてログインし直すと、日記を投稿するのにリロードが必要になります。タグ、JavaScript対策フォームを処理する時点で、タグの除去には細心の注意を払っています。いかなる場面でも利用出来るタグは制限されていますし、コメント欄ではタグなどは一切書けません。JavaScriptが一切記述出来ず、個人で利用するにはやや制限がキツいこともありますので、その場合はタグの利用制限を外す方法をお試しください。