2011-09-05 19 views
2

私は、ユーザーが彼が人間であり、スクリプトがないことを証明できるスライダを使用して、登録用にキャプチャを使いやすくしたいと考えています。jQuery UI Sliderを使って安全なcaptchaを構築するには?

これまでのところ、jQuery UIスライダでスライダを実装しました。値が100の場合、送信ボタンが表示されます。良い見え、私はその動作に満足しています。

しかし、JSはクライアントによって実行されるので、誰もが自分のコードを見ることができ、スクリプトを使用して同じアクションをトリガすることができます。スクリプトの場合、ボタンが使用可能かどうかに違いはありません。スクリプトはフォームを提出するためのデータを投稿するだけで、スライダのキャプチャは無用です。

私の簡単なJS-コード:

$(function() { 
     $("#slider").slider({ 
      value:0, 
      min: 0, 
      max: 100, 
      step: 50, 
      slide: function(event, ui) { 
       if(ui.value == 100){ 
        $("#amount").val("human"); 
        $("#regButton").slideDown(); 
       } else if (ui.value == 50) { 
        $("#amount").val("nerd"); 
        $("#regButton").slideUp(); 
       } else { 
        $("#amount").val("script"); 
        $("#regButton").slideUp(); 
       } 
      } 
     }); 
     $("#regButton").hide(); 
     $("#amount").val("Script"); 
    }); 

HTML:

<label for="amount" style="text-align:right;">I'm a:</label> 
     <input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold; width: 197px;" /> 
     <div id="slider"></div> 

がキャプチャセーバーを構築する可能性がありますか?サーバサイドのハッシュを使用していますか?フラグを設定する?手紙を入力するよりも、派手なUIとユーザーエクスペリエンスでセキュリティをアーカイブする方法は何でしょうか。

私はサーバー側でSpring MVCを使用してJava EEを使用しています。 reCaptchaの代わりにスライダーを使うのはいいですか?


EDIT:スライダーロジックにハッシュ値を追加しました。サーバーが、登録が開始された日付の隠しフィールドをレンダリングするとき、サーバーはこの日付に基づいてmd5ハッシュを作成します。隠されたフィールドの値を読み込み、md5-hashを構築する関数がスライダを移動したかどうかが呼び出されました。ハッシュ値は、サーバーに送信され、ハッシュのサーバー値と比較して登録を送信する前に送信されます。テキストキャプチャだけでなく、何もしないより効果的です。

私はこれが見つかりました:あなたの事を何https://code.google.com/p/slidelock/

を?この男はどのようにして「安全な」スライダを構築していますか?サーバサイド検証とSALTの管理方法それを安全にするか、それともスクリプタがそれを壊すだけの費用がかかりますか?

+0

パークドドメインにリンク – Neberu

+0

ありがとう、私は新しいものを追加しました。 – Nils

答えて

1

自分で作成する代わりに既存のcaptchaコンポーネントを使用してみませんか?

そこにはたくさんのものがあります。無料で書籍のデジタル化に役立つhttp://www.google.com/recaptchaをお勧めします。

+2

第1の理由は、サーバー上ですべてを必要としていることです.2番目の理由は退屈ではなく、登録フォームでさえもかなりの利便性を提供する素晴らしいソリューションです。はい、私はreCaptchaが信頼できるカスタマイズ可能であり、異なる言語をサポートしていることを知っています。私はcaptchaを構築する方法を知っている、方法について知っているgoogleの外の人々がある必要があります:) – Nils

+0

私はreCaptchaを追加したいと思います。したがって、キャプチャは実際にあなたのサイトを保護する以外の目的を果たしています。 –

+0

モバイルの標準キャプチャはひどいです。スライダアプローチはセクシーですが、セキュリティの強化が必要です。 –

0

結論に飛びついて、すべきではないものを掲載しました。申し訳ありません。

私はあなたが望むことを完全に理解しています。しかし、フォーム/アプリケーションを保護する唯一の手段ではない限り、スライダのキャプチャを使用することに本質的に間違っているものはありません。一意の識別子を持つことは簡単に増やすことができ、使いやすさではるかに優れていると思います。私はそれをテストしてより多くのことを研究した後、将来のアプリケーションで使うつもりです。