問題の解答をパーサー(スクレイパー)から守る方法(CAPTCHA・Drupal 6)
こんにちは。
解答付きの問題を掲載するサイトを作っています。私の解答データベースが一瞬でごっそりコピーされてしまわないよう、解答をロボット(パーサー)から守りたいと思っています。つまり、こんな感じです:ユーザーは問題を見て、解答を見たくなったら CAPTCHA の文字を入力するよう求められます。すべて正しければ、問題の解答が表示されます。実装のアイデアがいくつかあります。
一つ目。Webform モジュールを組み込みます。各問題(ノード)に Webform フィールドを一つ作り(このフィールドは Webform にボタンを作らせるためだけに必要で、無いと動きません)、「送信」ボタンを付けます。そのボタンに CAPTCHA を仕込みます。ユーザーが CAPTCHA を入力してボタンを押すと、通常なら「メッセージを送信しました」のような文言が書かれるページに飛ばされます。そこで私は、そのメッセージの中に問題の解答を書き込もうと考えました。
この方法の問題は、CAPTCHA が特定のウェブフォームに紐づき、ウェブフォームがノードに紐づいている点です。そのため、サイト上には問題の数だけ CAPTCHA が存在することになります。そして問題は何千もあるのです!これがサイトのパフォーマンスに悪影響を及ぼすのではないかと非常に心配しています。
二つ目。Drupal のフォーラムで、コンテンツの動的読み込みを使うよう勧められました。CCK フィールド(そこに問題の解答が入っています)を動的に読み込める Field Value Loader モジュールを使いました。つまり、すべて快適で良いのですが、これが本当に保護になるのか確信が持てません。検索ロボットに対しては有効かもしれませんが、パーサーに対してはそうではありません。もちろん、プロが本気で私のサイトに取りかかれば私に勝ち目がないのは分かっていますが、少なくとも中高生(素人)が貴重なコンテンツをコピーするのは防ぎたいのです。
これについてどう思われますか。プログラミングなしでできる何か簡単な解決策はないでしょうか?
P.S. Drupal 6.x
- コメントを投稿するにはログインしてください