Please Sign In or Register

captchajp

ユーザ登録、コメント、コンタクトなどのフォームに日本語キャプチャによる認証を提供することで、スパムを防ぐ手助けをするモジュールです。

※ captcha モジュールをもとに改変して作成したものです。
「あ行」から「ま行」までの間の連続した 1-3 文字のひらがなの入力を求める問題を表示し、問題の内容に合致する文字をひらがなで入力することで認証されるという動作をします。答えが間違っていたり、空欄だったりするとエラーが返されます。
[ ダウンロード : http://drupal.0829.info/module/captchajp ]

レビュー

[管理セクション] → [サイトの環境設定] → [captchajp] から設定を行ないます。

Captchajp モジュールの設定

設定できる項目は以下の通りです。

キャプチャの設置場所
それぞれのロール(ユーザグループ)ごとに以下の場所への設置が選択できます。
  • コメントフォーム
  • ユーザログインフォーム
  • ユーザログインブロック
  • アカウント情報の編集フォーム
  • 新規アカウントの作成(ユーザ登録)フォーム
  • パスワードの再発行フォーム
  • 個人宛コンタクトフォーム
  • サイト宛てコンタクトフォーム
追加の説明文
キャプチャ認証で表示される回答方法のヒントに、ここで入力した内容を追加できます。
モジュールが提供する説明文より優先する
チェックすると、標準の説明文を表示せず、「追加の説明文」に入力した内容のみを表示できます。

スクリーンショット

Captchajp モジュール

注意事項など

このモジュールの使用により何らかの損害が生じたとしても、一切の責任を負うことはできませんので、あくまで利用者個人の責任においてご活用ください。
captcha モジュールの既知のバグとして、コンテンツの作成時に動作しないというものがありましたので、キャプチャの設置可能場所から削除しています。今後、可能であれば改善したいと思います。
captcha モジュールとは別のモジュールとして動作しますので、本来の captcha モジュールと共存させることが可能です(たぶん)。
「や行」や「わ行」は、取得する文字によって、回答内容が分かりにくくなる可能性があることから、「あ行」から「ま行」までの文字列からのみ抽出する仕様にしています。

[参考]
captcha モジュール : "日本語で質問して日本語で答えてもらう感じ"仕様に変更する

改定履歴

[ 2007-02-22 ]
"「あ」~「ん」までのランダムな 2 文字のひらがなの入力を求める" という仕様から "「あ行」から「ま行」までの間の連続した 1-3 文字のひらがなの入力を求める" という仕様に変更しました。
また、モジュールのバージョンを、captcha モジュールのバージョンと合わせました。

日本語翻訳

同梱しています。

添付サイズ
captchajp-5.x-1.1.tgz13.43 KB

トラックバック

トラックバックは承認後に表示されます。

URLから "-nospam" を削除してトラックバックを送信してください。

[ Drupal-J.com ] - 2007-05-28(月) 12:49

コメント

パクらせて頂きました<(_ _)>

0829@drupal.orgさんのこの出題の形式をパクらせて頂きました<(_ _)>

おしかりや、突っ込みなどがありましたら遠慮無く言ってください<(_ _)>
Captchar 5.x-1.11版 あとうのあいだは? | Drupal-J.com
ここに置きました。<(_ _)>

どうぞどうぞ。

なんでもパクってください。で、どんどん面白いものになっていくのっていいですよね。
試してみて、動作しないなどがあれば遠慮なく質問させていただきますね。

ありがとうございます<(_ _)>

パクリの許可を頂きまして、ありがとうございます(^_^;)

今日の時点で、画像認証も内包しました。
ただ、Drupal-J.comが落ちているようで、公開はできませんけど(T.T)
captchajp風および画像認証、どちらも、出題できる文字数を自由に設定できるように拡張されています。
問題文の全てはプロフィールのフィールドに記述するので変更なども簡単にできます。
[***:*]=****
の形式に沿った拡張機能なら割と簡単に内包できる仕掛けなので機能の追加は比較的簡単にできます。
スクリプトにはコメント部分を除いてマルチバイト文字列は使用していないのでpoファイルもフル活用できます。
日本語専用には作りましたが、マルチバイト関数さえ動けば海外でも使えるかもしれません(思いこみですが)

ま、素人なのでソースは未整理で見づらいですが、その辺や、さらなるアイディアなどありましたら教えてください<(_ _)>

ローカル環境でテストしてても、プレビューする度に画像認証が出たりcaptchajp風の問題が出たりというのは楽しかったです(笑)

サーバーが復活して、公開できたら、宜しくお願いします<(_ _)>

captchajp モジュールを改良?

「問題と同じ内容を入力する」だと、コピーされると認証してしまうので、"「あ」と「お」の間の文字を..." という問題に対して、1-3 文字の連続したひらがなの入力を求める仕様に変更しました。

もうちょっとひねって・・・

「あ」と「お」の間の文字を

というのをちょっとひねって、
あい○○お
とか
○き○けこ
で、○を埋める文字を入力してください
というのもアイディアとしては面白そうですね。コーディングは大変そう(笑)ロジックが思い浮かばない(; ̄ー ̄A
もっと高度にして
あかさた○は○やらわおん
とか言うのも・・・(; ̄ー ̄A
それこそロジックが思い浮かびませんが(; ̄ー ̄A

「あ○○○お」は、

モジュールの作成時に考えていましたので、そのうち実装するかもしれません。(追記です。)

とりあえず、

あまり一つのことに時間をかけていても仕方がないので、これで終わりにしようと思っています。
また captcha の新しいバージョンがリリースされたときなどに興味がわいたらするかもしれませんが...

基本的には、完成したものを配布するのではなく、改変して使っていただくためのベースになるものを提供できればと思っているので、モジュールの提供よりは、drupal.org にあるモジュール作成のガイドラインのようなものをわかりやすくまとめる方がこのサイトの趣向にあっていると思っていますし。

たくさんのアイデアをありがとうございます。
amayadori さんのサイトでモジュールを公開された際にはぜひリンクさせてくださいね。

お疲れ様でした<(_ _)>

amayadori さんのサイトでモジュールを公開された際にはぜひリンクさせてくださいね。

いや、私の方がまるっきりの素人なので、モジュールの公開なんてあり得ないことですが(笑)

なんか、こう、興味を引くモジュールがリリースされなくてちょっと寂しい、今日この頃です。
おかげで、モジュール情報の更新がない…。いや、試しでモジュールは入れてあるのですが、うーん…という感じのものばかり。

ビビッと来るものを見つけたら教えてくださいね。

ごくろうさまです

お互いに改良していたのですね(笑)
もっとも、私のは全角入力させるだけですけど(笑)

>コンテンツの作成時に動作しない
しかし、こんなバグがあるのと言うのは・・・(; ̄ー ̄A モジュールの意味が無くなってしまいますね。

ま、これもいつか破られるんでしょうけどね(; ̄ー ̄A イタチごっこですし・・・。
○○と入力してください・・・という方法は単純ですから、やっぱり初期段階のような答えを表示するのではなく、問題を表示して答えを入力するというような仕組みが作れるといいですね。

まだまだですが、

問題を変更したいと思ったときにいいアイデアが思いつかなかったので、自分用だったんですが、公開しちゃいました。
コンテンツの作成時に動作しないバグは、4.7.x でのパッチはあがっているのですが、試してみると、コンテンツタイプを上手く取得できなかったので、とりあえずナシ。ということにしています。

こんなのはどうでしょ?

Drupal IDで、ログインできなくなってますね。アクセスが認められていないそうです。パスワード間違ったかな?あれ?でも、自宅からはログイン状態が継続していているなぁ・・・訳が判りません(×_×;)

それは置いておいて・・・。
captchajp.moduleの207行目付近を

  $kana_keys = array_rand($kana, 2);
  $captchajp = $kana[$kana_keys[0]] . $kana[$kana_keys[1]];
  
  $katakana_captchajp = mb_convert_kana(captchajp,"C","UTF-8")
  
  $form['captchajp_response'] = array (
    '#type' => 'textfield',
    '#title' => t("Authenticate Question:Please input \"%problem\" in hiragana.", array('%problem' => $katakana_captchajp)),
    '#description' => t("For example, Please input \"hoge\" in hiragana. If it is, you input \"hoge\" in hiragana."),

こんな風にするのはどうでしょ?
$katakana_captchajp を追加して、'#title のarray('%probkem' => で入力する変数を追加した$katakana_captchajpにして、メッセージをカタカナをひらがなで・・・の様に変更。
mbstring関数が必須ですが、日本語環境においては問題ないだろうとは思うのですが・・・。
どんなモンでしょう???(自分でやらないところが・・・(^_^;)

プレビューしたらはじかれた・・・。自宅マシンでログアウトしないと駄目なんか?・・・よくわからないゾ、Drupal ID

Drupal のログイン

ブラウザを切り替えたときに「権限がない」といわれることもありますよね。大丈夫なときもあるのに...よくわかりませんね。

と、せっかくのアイデアなので、何を追加したのかわかりやすいように修正(色を付けただけ)させていただきました。
いろいろなところで、いろいろなアイデアで改変して使っていただけたらありがたいですね。参考にさせていただきます。

リロードしたらログインしてるし・・・

しばらく放置しておいて、リロードしたらログインしてました。本当に挙動がよくわかりませんね(^_^;)
すみません、改変して使ってません(笑)
実験すらしてません(^_^;) 動くとは思ってますけど(笑)
オープン懸賞の制限じゃないですけど、ページ内に答えがまんま載っているといつかスクリプトで対応が可能になるので、出来るだけ人間が認識して入力しないといけなくするのが最終的な理想ですね。

現状でも、文字数を増やすとかは簡単そうですね。
変換関数をちょっと変えれば半角で表示しておいて全角入力というのも可能だし、その辺をランダムに切り替えられるような仕組みというのも面白いかもしれないですね。
私が施した改造版だと、計算式を足し算だけじゃなくて引き算や、かけ算というのも可能だし、ランダムに変えることも不可能ではなさそうだし。ちょっとした組み合わせを変えるだけでもパターンが増えますしね。

ある意味、HTMLソースレベルでは同じ出力の仕方をしているけど、問題と答えの組み合わせがモジュールレベルで別なものが存在するというのも、ターゲットを絞りにくくなって、別な意味でのスパム対策になるのかもですね(^_^;)
また、なんかアイディア、考えます。コーディングは全然出来ないのでアイディアだけですけど(笑)

画像認証とか...

ひらがなのイメージキャプチャとかもちょっと考えたんですけどね。
ひらがなだけならフォントの作成もファイルサイズも何とかなりそうですし。コーディングはこれまた無理っぽいですが...
あとは、問題の文字サイズとか、日本語が斜体なのは読みにくいとか、そんなセキュリティとは関係のないことが気になったりしているくらいです。
今のところ、ありがたいことにスパム行為とは無縁なので、あまりピンときていないのが本音ですが...

セキュリティ

セキュリティってのは変なもので、人間がめんどくさいと思うほどセキュリティが高くなるんですよ。
その考え方で行くと、イメージキャプチャも表示されたものをただ入力するだけだと、遠くない未来に破られるようになります。現に、最近のOCR技術はすごいですから。ましてや、フォントから作り出す文字なんて言うのはある意味鮮明ですから機械的な処理には適しているという側面もあるのですよ。
ま、スパム程度でそこまで金を掛けるかは別問題ですけど、技術的には十分に破られる可能性はあると私は考えています。
やっぱり、脳トレではないですが、人間が頭を使わないと・・・つまりは面倒なことをさせないとセキュリティは高くできないと言うことになります。

ただ、そうは言っても、人間がめんどくさがると言うことは、利用されなくなると言うこととも背中合わせなのでどこまでで折り合い付けるのか・・・ということになりますね。

私のネット友達はxoopsを使ってますが、最近コメントスパムに荒らされているようです。こういうモジュールがあるDrupalにしませんか?って、ちょっと誘ってみようかと企んでいるわけですが(笑)

バランスが大切ですね。

ほとんど経験がないので、ホントのところは体験してみないとわかりませんが、サイトの内容やユーザ層とスパムの状況を照らし合わせれば、どんな対策が有効か、ある程度は見えてきそうですよね。

余談ですが、別に運営しているブログサイトの方では、いろいろな CMS について言及している関係で、それぞれのセキュリティホールを狙ったアクセスが豊富にあったりします。
コメントスパムなどではないので見た目では問題ないですが、ログが「ページが見つからない」エラーで埋まってしまうので、なんとなく気持ち悪い感じです。こればっかりはどうしようもないですが...

テストしてください

zoracさんのネタ振り課題が一応出来たので、良かったらテストしてください。
なんか、テストを繰り返していると、モジュールが機能しなくなるようですが・・・(; ̄ー ̄A
不安定ですね、どうも。

もしかして、私の改造のせい?危ないなー(; ̄ー ̄A
captcha-j-5.x-1.2-dev.tar | Drupal-J.com

セキュリティーの穴をねらった攻撃ですか?うちもあるのかな?
家主に聞いた話だとたまにDos攻撃らしきものあるらしいですけどね。
サーバーのことはよく判りません。
ページが見つからないと言えば、/がページがないエラーになってログに残っているんだけどうーむ・・・こんな挙動だったかな(; ̄ー ̄A

キャッシュの関係ではないでしょうか。

例えば、コメントの投稿時には captcha 認証の内容とコメント欄が必須項目ですが、テストを行なっていると、つい、captcha 認証だけ正しい回答を入力して、コメント欄を空欄でプレビューしたりしてしまいますよね。
captcha モジュールは、オリジナルもそうですが、一旦認証されると、情報の送信が完了するまで認証し続けているようです。
ちゃんとコメントを投稿すれば、次も captcha が表示されるのですが、そこでのコメントを中断して、他の場所でコメントを行なおうとしたりすると、動作しないように見えてしまったりするようです。

amayadori さんの captcha は、まだテストさせていただいてないのですが、コードを拝見させていただいて、captcha モジュール : "日本語で入力して日本語で答えてもらう感じ"仕様に変更する のページに参考サイトとしてリンクを貼らせていただきました。
テストしたら、amayadori さんのサイトにフィードバックさせていただきますね。(BUEditor の翻訳ファイルのときも同じことを言っていましたが...なんかバタバタしてて、スミマセン。)

キャッシュですか?

キャッシュですか?うーん。なるほど。
一端ログアウトして、ログインしてテストすると動作するようなので、どこかで持って居るんでしょうね、きっと。あー、ゲストでテストしない意味がないか(笑)
ゲストでも継続するんですかね?大丈夫かな・・・(; ̄ー ̄A

うわっ、リンクしちゃったんですか?恥ずかしー(笑)
まぁ、ゆっくり確認してください。自分のところでも実装しようかな(笑)とか言っても、コメントをゲストに開放していないのであまり意味がないですが(; ̄ー ̄A

匿名ユーザでも、

キャッシュは保存しているようです。
オリジナルの captcha のバグとしても報告されていますから。
このように、本当にバグの多いモジュールなので、これ以上ツッコムは止めておこうかと...

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。