This page is also available in English.
いわゆるボットと呼ばれるようなコンピュータープログラムによる自動フォーム送信を、本物の人間の手によるものと見分けてそれをブロックする方法としては CAPTCHA がありますが、CAPTCHA の導入に難がありもっとシンプルな方法を使ったほうが都合がよい場合もあります。クイズの機能を使えば、人間なら答えられそうな質問と答えを考えるだけで、CAPTCHA と同様の役割を実現することができます。
たとえば次のようなタグをフォームに埋め込んだとしましょう:
[quiz capital-quiz "The capital of Japan?|Tokyo"]
パイプ文字 (‘|’) より前 (The capital of Japan?) が質問で、パイプより後 (Tokyo) が期待される答えとして扱われます。
地理より算数が好きなら次のような質問をしてもよいでしょう:
[quiz math-quiz "12+48=?|60"]
質問と答えは何でも構いません。正しい答えを入力しないとフォームを送信できません。
次のように質問と答えのペアを複数並べると、そのうちのひとつが毎回ランダムに選ばれて使用されます:
[quiz random-capital-quiz "The capital of Japan?|Tokyo"
"The capital of France?|Paris"
"The capital of Madagascar?|Antananarivo"]
オプション | 使用例 | 説明 |
---|---|---|
id:(id) | id:foo |
input 要素の id 属性値。 |
class:(class) | class:bar |
input 要素の class 属性値。2個以上のクラスを設定する場合は複数の class: オプションを [quiz capital-quiz class:y2008 class:m01 class:d01 "The capital of Japan?|Tokyo"] のようにして並べる。 |
minlength:(num) | minlength:10 |
この入力フィールドで許容される最小文字数。 |
maxlength:(num) | maxlength:90 |
この入力フィールドで許容される最大文字数。 |
size:(num) | size:50 |
この入力フィールドの size HTML 属性値。 |
例:
[quiz capital-quiz id:qatest "The capital of Japan?|Tokyo"]
タグジェネレーターでクイズタグを生成する際は、問答のペアをクイズの欄の1行に1ペアずつ書いてください。