2016-07-29 9 views
1

私はGoogle ReCaptchaを使用したいと思っていますが、サーバーサイドまたはバックエンドコードに触れたくありません。Google ReCaptchaフロントエンドソリューション

私はASP.Net MVCを使用していますが、Nugetまたは任意のライブラリのパッケージを使用したくない場合もあります。ソリューションはフロントエンドのみでなければなりません。すべてのjavascript/jqueryソリューションが受け入れられます。

私のフォームはデータを収集し、指定されたメールボックスに電子メールとして送信しています。私はこのプロセスにサードパーティのライブラリを使用していません。 ASP.Net MVCによってのみ手動でコーディングされます。

+1

javaスクリプト、grecaptcha.getResponse() –

+2

GoogleのRecaptchaなどのソリューションの重要な部分は、サーバー側との通信です。これは、フロントエンドのコードを簡単に読み取ったり、クラックさせたり、完全に置き換えることができるからです。 'captcha_challenge()'があるとしましょう。ユーザーがcaptchaの解決を管理している場合は 'true'を返します。今度はソースに行き、あなたの関数を 'function captcha_challenge(){return true; } '。私はもう一度ボタンをクリックし、私は入っています。フロントエンドだけでキャプチャやパスワードの暗号化のようなものを実装するのは本当に意味がありません。あなたは安全に働くにはバックエンドが必要です。 –

答えて

0

詳細については、Ivo Coumansに感謝します。私はそれを働かせましたが、あいまいで安全ではありません。 Rinto Antonyは私にここでのアイデアをくれました。

私は私のウェブサイトのセクションを頭にGoogleのreCAPTCHAのAPIを呼び出して、キャプチャを作成するdiv要素を追加してい:

<div class="g-recaptcha" data-sitekey="api_key" data-callback="enableBtn"></div> 

データ・コールバックがenableBtn機能をトリガしているので、それならば、アクションを取ることが可能です真実を返している。だから私は私のフォームに無効な送信ボタンを追加しました。

<input type="submit" value="Gönder" id="button1" disabled> 

は、その後、私はそれを可能にするための簡単なJavaScriptを追加しました:

<script type="text/javascript"> 
    function enableBtn() { 
    document.getElementById("button1").disabled = false; 
} 
</script> 

私は、これは簡単にバイパスされていない真の解決策が、それが機能していることができることを承知しています。私はこれをより良くすることができるアイデアにはオープンです。

0

CMSを使用している場合を除き、reCAPTCHAを使用してPOSTリクエストを行うため、バックエンドにコードを記述する必要があります。

プラグインをダウンロードしてからキーをコピーして貼り付けるだけでWordPressを強くお勧めします。

関連する問題