岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

「CAPTCHAは愚策」がおもしろい

島健太郎さんのコラム「CAPTCHAは愚策」が、はてなブックマークでの反応まで含めておもしろい。

JavaScriptで良いのか

JavaScriptを使う方法では、JavaScriptの動作しないUAで操作(ユーザ登録など)ができなくなる。そのことをもって江島さんの主張を批判する方がいる。

しかし、JavaScript必須なサービスの場合、JavaScriptの動作しないUAで操作ができなくてもユーザは困らないのではないか。たとえばlivedoor Readerへのスパム登録を避けるとして、その対策にJavaScriptを使うのはまったく問題ないはずだ。

もちろんJavaScript必須でないサービスもある。その場合は、江島さんの挙げる別の対策案(後述)が有効かもしれない。

JavaScriptを理解するボットもいる

JavaScriptを使ったところで、JavaScriptを理解するボットには脆弱だ。そのことをもって江島さんの主張を批判する方もいる。

だが、江島さんはすでに文中で触れている。

しかし、究極的にはボットはブラウザの全ての機能を完全に再現する、というか、ブラウザのエンジンをそのまま使うようになるでしょう。こうなると、どんなJavascriptも解読されてしまうし、ブラウザを操作してる人間とまったく見分けがつきません。

CAPTCHAは愚策:Kenn's Clairvoyance - CNET Japan

分かったうえで書かれているのだから、「JavaScriptを理解するボットには脆弱だ」というのは批判になっていない。

ではどうするのか

そこで、江島さんが提案されている対策案は「クライアント側の処理を高コストにする」ことだ。

根拠は下記のとおり。

そもそも実行時リソースの要求が高いフルブラウザベースのボットを作り込むようなハイエンドなスパマーはコスト感覚にシビアなはずなので、かなり効果があるのではないかと思われます。

CAPTCHAは愚策:Kenn's Clairvoyance - CNET Japan

この案には効果がないと思う? ならば、そう主張すればよい。根拠があるなら、ね。