メニュー

会員登録

 ユーザ登録

検索


Google

カレンダー

20107
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31


ねこ認証を作ってみた

Hatena::Bookmark del.icio.us Livedoor Clip Yahoo Bookmark POOKMARK. Airlines nifty Clip Buzzurl
ねこ認証 「ねこ認証」というものをご存知だろうか。KittenAuthというサイトで使われている「自動化チューリングテストシステム」というものらしい。

まぁ難しい文章は嫌いなので簡単に言えば「ネコの画像をクリックする」という認証システムのことです。


認証システム???と疑問に思った人もいるかもしれない。何を認証するのかと言えば「人間の投稿なのかロボットの投稿なのか」という認証だ。ロボットの投稿と言えばもちろんあの忌々しい「スパム投稿」を指している。




スパムを規制する方法で広く使われているのが「画像認証」である。

(CNET Japanより画像引用)
このような見難い画像を一度は見たことがあるだろう。これらは一般的に「画像認証」といわれている。昔、フリーメールサービスなどでロボットが自動的に、大量のフリーメールのアカウントを作成してスパムメールの踏み台にしたというのはよくあった話である。しかしいまは「画像認証」のおかげでロボットがフリーメールのアカウントをとることはできなくなった。 それは何故か、答えは簡単。
人間は画像から文字を読み取ることができるけど、ロボットはできないからだ。
もちろん正しい形の文字ならロボットでもある程度判別はできる。しかし、上の画像のようにぐにゃぐにゃと曲がっていたり、文字と模様が隣接する場合は、ロボットの判別性能は急激に落ちる

ロボットはプログラム通りに動作をするだけであって、今のところ 曖昧な物には非常に弱い




しかし、「画像認証」を不便に感じたことはないだろうか。一回しか登録しないフリーメールならともかく、しょっちゅう投稿する「掲示板」等に画像認証がついているサイトもある。これは不便で仕方がない。たしかに管理人にとってはスパムコメントが激減し、スパム業者に勝った気分かもしれないが投稿者にとってはだんだん投稿する気も失せてくることだろう。



そこで今回の「ねこ認証」。キーボードは一切使わずにマウスをたった3回クリックするだけ9枚の画像がでるから、そのうち3枚の「ねこ」の画像をクリックして「認証」ボタンを押す。
これだけだ。


合計パターンは96通り(画像は毎回違いますが)、「ねこ認証」が全然有名じゃない以上いまはこのパターンのみでも大丈夫だろう・・。


なおフリー配布を検討しているので、興味がある人はちょくちょくブログ覗いてくださいね
(今週中に配布開始する予定です。)
また、目が見えない方をネットから追い出すという意味で作ったわけではありません。
音声を使った認証も、自分のプログラムスキルの範囲でですが、作成を検討します。

あと、私は「全てのコメントに認証を行う」という方法はとらず「スパムっぽい」コメントに認証をつけようと考えています。

たとえばURLを書いた人など。それならば全体的に負担も少ないでしょう。

サイトのプログラム整理と某APIの提供に向けて、ねこ認証の公開を終了しました。今後復活する可能性はありますが、別のページで紹介する可能性が高いので最新のページをチェックするようにおねがいします。

(2007/09/13 追記)ニューバージョンとなるねこ認証API (Cat Auth API)を公開しました。デモはこのリンクからどうぞ

  • 投稿者:慈円
  • 投稿日時:2006/09/06 00:58:01
  • コメント(18)
  • トラックバック(4)
  • プログラム


この記事へのコメント


1 名前:神無 [2006/09/15 01:25:05 ID:trc.H1/7]
はじめまして。
この記事にトラックバックさせていただきました。

画像認証という機能に非常に興味が湧いたので、慈円さんのスクリプトを参考に自分でも作ってみました。
ただ、JavaScriptの部分がほぼ丸写しになっているので、もし問題がありましたらただちに停止いたします。
ちなみに、この部分が解決するまでは配布等の予定はありません。

2 名前:慈円 [2006/09/15 02:01:29 ID:trQN7eIN]
URLを張るだけでなくリンクの方をよろしくお願いします。
下記にもあるようにリンクのないトラックバックは禁止しています。
拒否は行っていないので、リンクを張り次第再送信して構いません。

JavaScriptも全面的にまるまる使用して問題ないですよ。
何かバグや改善案があればご一報下さい。

3 名前:神無 [2006/09/16 01:02:39 ID:tr.2d3cF]
投稿内容の方を修正いたしました。
トラックバック再送信しましたが、2番目のは送信ミスです。御手数ですが削除を宜しくお願いいたします。


画像認証の近況ですが、画像それぞれ最下部に文字を書き込んで表示する機能を実装しました。現在は文字色のみランダムにしていますが、文字そのものをランダムで表示するようにすれば、画像をキャプチャし比較するのはほぼ不可能になるのではと思います。

4 名前:慈円 [2006/09/16 03:24:08 ID:trQN7eIN]
おつかれさまです。

文字では一部分しか反映されないため
全体の色を(肉眼では確認出来ない程度でも)変えるのが有効かと考えています。

5 名前:神無 [2006/09/16 18:28:25 ID:trQYKLEA]
お世話になっています。

「imagefilledrectangle」を利用し、画像と同じサイズの半透明の長方形を重ねる機能を盛り込んでみました。
利用する画像によっては見え辛くなるので、透過率の幅は調整が必要かもしれません。

6 名前:慈円 [2006/09/18 00:11:38 ID:trCsfGHx]
お疲れ様です。
私のほうでもいろいろと修正しないといけないのですが
なかなか丁度良い時間が見当たりません。汗

7 名前:GIGAZINEからの通行人 [2006/09/19 13:20:00 ID:trDsCXTH]
>ねこ認証テストは現在インラインフレームで行っています。このブラウザではインラインフレームを描くことができないみたいです。
だそうです。
あと、javascriptを要求するようなサイトには書き込みしたくないですね…

8 名前:慈円 [2006/09/19 14:37:27 ID:trCsfGHx]
すいません。PHPを埋め込むわけにもいかないので、インラインフレームです。
またインラインに関するセキュリティ設定によってはねこがでてこない場合も確認されています。

私の想定している使用方法はあくまで「スパム」っぽい判定ならば確認を行う。というものです。
JavaScriptが非対応の人や、拒否している人には「ねこ認証」とは別途に「管理人のチェックを通してから表示させる」というボタンを用意するのが一番スムーズかと考えています。

9 名前:kiki [2006/09/19 18:13:45 ID:trXuMrBZ]
癒されましたあ
個人的には猫科ばっかりで「パンサー認証」とかしてみたいです・・ガンバってね☆

10 名前:DinoSwift [2006/09/20 02:23:50 ID:tr9k9pHw]
javascriptは意識的にOFFにしてる人はいるけどフラッシュを非表示にしてる、入れてないってひとはあまり多くないんじゃないかな。
というわけでjavascript版だけでなくflash版も要望出してみる。

(へ´ω`) 今作っているエセblog改ができてたらぜひとも組み込みたいんで 
     検討お願いします。

11 名前:慈円 [2006/09/20 02:44:38 ID:trCsfGHx]
FLASHがどこまで出来るかが問題ですね。
ActionScriptなんて全然知りませんし、FLASHも
シンボルを移動させるくらいしか出来ないので私には
少し厳しいですね。

12 名前:DinoSwift [2006/09/20 12:10:09 ID:tr9k9pHw]
flashはあると便利なスキルだなぁとは思うけど、学ぼうという気があまり起きないんだよなぁ。
たしか掲示板のようにインターフェースだけをflashで提供して具体的な処理などはPHPやperlなどのCGIで行うというような真似ができたはず。

うちのサイトに合うデザインとperl形式に書き換えさせてもらうけどソースの著作権表記と認証説明でこちらのサイトへのリンクを張らせてもらうつもりなのでよろしくちゃん
へ(へ´∀`)ノ

13 名前:慈円 [2006/09/20 14:37:46 ID:trCsfGHx]
わかりました。
これからも頑張って下さいね。

14 名前:7 [2006/09/21 17:49:52 ID:trxf63tS]
to 8
んー、こういうのって普及しだすとそういうこと考えずに使う人が増えてくると思うんですよ。
そうなった場合、非対応の利用者を締め出すことになるわけで。
もっとも、運営者側がそれを承知の上で少数切捨てを選択するのであれば、それも方針のひとつですし他人がとやかく言うことではないのですが、
問題は知らずに使ってしまう場合ですね。
「これを使用することにより利用できない人が出てくる」という知識がきちんとついて回ればいいのですが…

15 名前:慈円 [2006/10/02 23:43:21 ID:trG3.FIH]
ある程度の説明や注意は行いたいですが、どうでしょうね。
最終的にはその人のモラルによるでしょうし。

16 名前:pen2 [2007/10/15 00:07:28 ID:b0ae108f]
JSに意見のある方は自分でささっとFlashとかで書き直してもらえばいいだけの話ですから、気にしなくていいと思いますよ>慈円さん
ところで "http://turi2.net/file/neko_ver_beta.zip" を自分のサーバで動かしてみたのですが。
-----
21a22
> $post = $_POST['post'];
-----
が必要ですよね?

17 名前:pen2 [2007/10/15 00:29:18 ID:b0ae108f]
あとお節介ですが、こんな風にしたほうがいいかも?

$ diff neko.php neko.php.new
51a52
> $flg = 0;

$ diff nekoimg.php nekoimg.php.new
24c24
< $hit = substr($auth, $_GET[mark], 1);
---
> $hit = substr($auth, $_GET['mark'], 1);
31a32
> $i = 0;
33c34
< $f_name[$i] = $file_name ;
---
> // $f_name[$i] = $file_name ; //不要?

18 名前:慈円 [2007/10/19 22:55:24 ID:7882ec51]
ご連絡ありがとうございます。

ねこ認証に関しては現在サービスの中でAPI化して動作させているので、ベータスクリプトに関してはノーサポートの方針です。

ねこ認証ベータの作りはかなり甘いので各自修正していただければ幸いです。みんなでコードを修正し合える場が提供できればおもしろくなるかもしれませんね。

この記事にコメントを書く


名前:  メール:

トラックバック



本文中でこの記事のアドレスを引用(リンク)してください。 引用がない場合はスパムとして削除し以降の全トラックバックを拒否します

1 星を見る人(新しい画像認証方式「)
「画像認証」という認証はご存知でしょうか?ウェブ上から情報を登録するときに、その登録者がロボットか人間かを判断するために使用する、ぐにゃぐにゃと曲がったりしている非常に読み取りにくい文字のことです...

2 幻想熊日記(ねこ認証)
今日は仕事が暇だったのでネットをこっそりやっていたら、面白い記事を見つけました。 http://turi2.net/blog/290.html PHPスクリプトで画像認証を行うというものです。詳しくは上記URL参照のこと。 スクリプトの配布を行っていましたので、それを参考にして自分でプログ...

3 まにあの殿堂(和む認証画面)
GIGAZINEからさらにリンクが張ってあったのですが、 ねこ認証を作ってみた 画像を見てそれが「ナニであるか」っていう判断はナカナカ自動化できないもの。 だからこそ現在フリーメール取得の際には、 "文字を画像にして、ノイズや変形を加えることで人間が見るしか方法がないようにする"という画像認証の手続きを踏んでます。 認証画面で、画像を見て「ネコ」だけを選択することで認証、というプロセスは人間しか出来ません(画

4 SNS_generate by hot.dyndns.tv(spamコメント防止の-ね)
もちろんコメントスパムに悩まされた経験のある人。 Capchaという味気ないのを知っている人。>>>Let's Go!! 星を見る人 新しい画像認証方式「ねこ認証」 http://magic3.net/item/988 こっちに修正版 htt...

ブログの人気ページ