まだやってるCaptchaの改造(;^_^A アセアセ… | LOGIN,PASSWORD or REGIST

まだやってるCaptchaの改造(;^_^A アセアセ…

Posted by amayadori on 2007/05/15(火) 12:09

Captchaの改造を、まだやっている今日この頃(笑)

今日の成果物。
モジュールフォルダ内にcaptcha.qaというテキストファイルを用意しました。
で、1行1QAと言う感じで、問題と答えを=を挟んで記述します。
2×5=10
12÷3=
1×3+5=
こんな感じです。青の文字列が問題になり、赤の文字列が答えということになります。
区切りの文字は半角の = です。
文字コードは言うまでもなくUTF-8厳守です。それ以外では文字化けする可能性が高いです。

問題と答えの組み合わせ数は特に制限は設けていません。無限に作れますが、実行される度にcaptcha.qaファイルを読み込んでいるので、あまり多くすると動作に手間取るようになると思われます。ローカルでテストしてても、もっさり感を感じます(気のせい?)
ファイルの最後は改行だけの行は作らない方が良いです。最後の答えの後にEOFがある状態でしかテストしてないし、深く考えて作ってないので、問題も答えもない…なんてのが出てしまう可能性があります。その辺のトラップも作らなきゃね…(;^_^A アセアセ…。

読み込んだ問題と答えの組み合わせから、ランダムに1問を抽出して出題してます。
問題と答えを列挙しなければいけないので、裏を返せば計算式である必要はありません。
例えば、このアイディアの発端である0829@drupal.orgさんの初期の改造版の様に
5月は和暦で言うと?…五月が答え
の様な組み合わせでも良いわけです。
ただし、問題の答えが曖昧になるモノは避けた方がよいです。
理由は言わずもがなだとは思いますけど、アンケートをしているわけではありませんから、問題に対する明確な答えが出るような問題と答えの組み合わせにしなければ認証の意味がありません。

今回は、モジュールフォルダ内のテキストファイルを読み込んでますが、目標としては、AdSenseモジュールのように、プロフィールのフィールドを使ったりできるようになれば問題のメンテナンスがDrupal上で完結させられます。
DrupalのAPIでプロフィールのフィールドのデータを読み出せるようなモノがあれば実現できそうなんですが、あいにく、ワタシが理解できていません(笑)誰か教えてください(T.T)

今までに作った改造版の手法をオールインワンに閉じこめて、ランダムで出題が変わるなんて言うのも面白いかな?どうかな?

添付ファイルについて


今までの改造版同様、オリジナルのCaptchaモジュールとは共存できません。
モジュール名から、フォルダ名なども同じですから。
また、PHPのお勉強&お遊びで作っています。配布目的で作っているモノではありませんので、他の人にあげたりしないでください。問題が起こっても一切知りません。

添付サイズ
[file] captcha-r-070515.tar.gz15.03 KB
トラックバック


URLから "-notspam" を削除してトラックバックを送信してください。トラックバックポリシーは こちらに提示しています。