2017-05-11 19 views
2

Googleのワードプレスのウェブサイトにカスタム登録フォームがあります。私たちはGoogleのrecaptchaを使用して、人の質問フィールドを入力してスパム登録を停止していますが、依然としてスパム登録は停止しません。カスタム登録フォームの迷惑メール登録を停止する

誰かが正確に何が行われる必要があるとお考えですか?

登録フォームのコードは次のとおりです。

JSコードには、Recaptcha用と「質問用フィールド」の検証用の2つの機能があります。

デフォルトでは、登録送信ボタンは無効になっており、recaptchaコールがその機能を戻すときにのみ有効になります。

function recaptchaCallback() { 
 
    $('#submitBtn').removeAttr('disabled'); 
 
} 
 

 
function validateForm() { 
 
    var a = document.forms["registerform"]["question"].value; 
 
    var b = document.forms["registerform"]["user_login"].value; 
 
    var c = document.forms["registerform"]["user_email"].value; 
 
    if (a == null || a != "5") { 
 
    alert("Bitte fülle alle Felder richtig aus"); 
 
    return false; 
 
    } 
 

 
}
<script src="https://www.google.com/recaptcha/api.js"></script> 
 
<form name="registerform" onsubmit="return validateForm()" method="post"> 
 
    <div class="form-group"> 
 
    <label style="font-size:18px;">Register</label> 
 
    </div> 
 
    <div class="input-group input-group-md"> 
 
    <span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span> 
 
    <input type="text" name="user_login" class=" form-control" placeholder="Username"> 
 
    </div> 
 
    <br> 
 
    <div class="input-group input-group-md"> 
 
    <span class="input-group-addon"><span class="glyphicon glyphicon-envelope"></span></span> 
 
    <input type="email" name="user_email" class="form-control" placeholder="E-Mail"> 
 
    </div> 
 
    <br> 
 
    <input type="hidden" name="redirect_to" value="Redirect_URL"> 
 
    <div class="input-group input-group-md"> 
 
    <span class="input-group-addon"><span class="glyphicon glyphicon-question-sign"></span></span> 
 
    <input type="number" name="question" class="form-control" placeholder="2+3 = ?"> 
 
    </div> 
 
    <br> 
 
    <div id="captcha" class="form-group"> 
 
    <div class="g-recaptcha" data-sitekey="6LdOGg4TAAAAAJsTt_ZGoK67cyF277uIYwWRxJPW" data-callback="recaptchaCallback"></div> 
 
    </div> 
 
    <div id="pass-info" class="clearfix"></div> 
 
    <button class="btn_full" id="submitBtn" disabled>Register</button> 
 
</form>

全部が正常に動作します

、reCAPTCHAのヒューマン質問欄。手動でregisterformをテストすると、Recaptchaを受け入れずにフォームを処理するための値を正確に挿入することなく登録することができます。

しかし、これは私たちのサイトに登録されている自動スパムボットを防ぐものではありません。

これらのスパムボットの登録方法は他にありますか?

また、管理ダッシュボードで「メンバー登録」を無効にしました。

何か間違っていますか?

ご意見とご提案をいただき、ありがとうございます。

答えて

1

あなたはバックエンドでそれを検証する必要があります。フロントエンドで検証をバイパスできます。

各登録のIPアドレスを保存します。一定期間内に同じIPからの登録を許可しますが、ユーザーは毎秒IPアドレスを変更するプロキシツールを使用できます。

電子メールを有効にすると、電子メールは登録済みの電子メールアドレスに検証電子メールを送信し、ユーザーが有効化のクリックをクリックすると、アカウントを有効にします。

1

あなたはおそらく、recaptchaのサーバー側の部分を忘れています。 ロボットはGoogleからのこの完全なチュートリアルを参照してください 、それを複数回通過させることはできないはずです。https://developers.google.com/recaptcha/intro

説明したようにあなたは、サーバー上のキーを設定する必要がありますそれは秘密です、そしてGoogleがあればあなたに送信されますどのキャプチャは有効です。