DACのようなものをぼちぼち作り始める。故あって、非常に簡易的な認証システムを必要としている。今の状況にピッタリなのが、いわゆる「ゲイツ認証」なのであった。探した限りでは、tDiaryにはオフィシャルなゲイツ認証プラグインは存在しないらしい。ほんじゃ、ひとつ自作するのである。完成イメージは以下のような感じ。SVXの画像をすべてチェックして認証ボタンを押し、正しくチェックされていれば認証が完了し、tDiaryのコンテンツにアクセスできるようになる。一度認証したら、以後クッキーの続く限り、ページへのアクセスは自由だ。ゲイツ認証のすばらしいトコロは、説明が最小限で済み、人間相手には一目瞭然な反面、サーチエンジン等からのアクセスを限りなく困難にできること。認証イメージをコンテンツのテーマに合わせることで、ちょっと「楽しんで」認証をしてもらえるトコロだ。ーわけで開発開始である。tDiary用「鉄塔認証」プラグイン完成ちゅーわけで、tDiary用の「ゲイツ認証」プラグインが完成した。実は一昨日に記事を書いた時点でかなりの状態までできていたのだが。一昨日の時点では「SVX認証」などという名称の予定であったが、この名前はヤメた。いうのも、肝心の多数のSVXのイメージを十分な品質で揃えられなかったからである。オレ著作権で大量の同テーマの写真というと......実は昔こういうサイトを作っていたもんで......あるんですな、大量の「送電鉄塔」の写真が。いうワケで「鉄塔認証」という名称にした。別にこのサイトに認証を適応するつもりはないが、ココで動作を試すことはできる。検索エンジンやウェブアーカイバを排除するために作った認証方法である。CAPTCHAイメージはImageMagickのconvertコマンドを使って合成しているので、ちゃんと1枚のイメージになっており、こういうマヌケなコトにはなっていない。サーバで正解を保持するのはやっかいなので、認証情報はクライアントから送り返すようになっているが、正しくMD5を使っているので、理論的に破ることは十分に困難であると思われる。認証に使うイメージの枚数は可変なので、それを8枚くらいにして、真にイメージの法則を知っている人間しか正しい選択ができないようにすれば、実用的な認証にもギリギリ利用できるかもしれない。何らかの方法で1枚のイメージに2個のチェックを付けられるように工夫すれば、5枚で10ビットとなり1024通りだ。なれば数字3桁のCAPTCHAと同程度の防御率となる。CAPTCHAイメージを毎回生成するとサーバの負荷がバカにならないので、頻度を下げ、過去のイメージを使いまわすことができるようにも作ってある。デフォルトでは新規生成は10回に1回、100個のイメージを保持し、使いまわすようになっている。プラグインはGPLで公開する。プラグイン本体とサンプルの鉄塔認証データ。インストールの方法はmisc/plugin/pylonauth_plugin.rbにコメントとして書いてある。インストールした事例が少ないのでバグがあるかもしれないが、そういう場合はソース読んで直してパッチを送ってくれるとうれしい。......関係ないけど、懐かしい写真が出てきたので載せておく。SVXの前に乗っていた、ソアラのエアロキャビンだ。ちなみにペイントはPhotoShopによる合成で、このような状態で乗り回していたわけではない。赤丸の中はスキャナの調子の悪さを表現するためのもの(これを機にフィルムスキャナを卒業した気がする)。キーボードの掃除は皿洗い機におまかせ」なんてトピックが立って、なんとなく気分がキーボード付いてしまった。1.8.7-p357。