簡體   English   中英

Google reCaptcha v2-在提交表單之前檢查驗證碼是否已完成

[英]Google reCaptcha v2 - check captcha is completed before form submission

在提交表單之前檢查用戶是否確實完成了驗證碼的最佳做法是什么?

從文檔中,我可以看到有2個回調函數data-callback和data-expired-callback。

計划是在成功完成或到期時將布爾javascript變量設置為true / false,然后在提交表單之前檢查該變量是否為true。

從用戶的角度來看,這將確保用戶在提交前填寫驗證碼。

惡意用戶可能會覆蓋javascript變量,但服務器端驗證碼驗證可以防止這種情況。

首先,必須在form中放置onsubmit="return check()" 這意味着當您提交表單時,在發送數據之前它將執行名為check()的函數。 如果函數返回false ,則不會提交表單。 它看起來像這樣:

<form action="page.php" method="POST" name="form" onsubmit="return checkCaptcha ()">

然后,您便有了功能:

<script language="javascript">
    function checkCaptcha ()
    {
        var captcha = document.getElementById('captcha ').value;

        if (captcha == "" || captcha == " ")
        {
            alert("please fill the captcha ");
            return false;
        }
        else
        if (captcha .length != 7)
        {
         return false 
        } // and so on
        else
        {
             // if everything is ok you can submit
            return true;
        }
    }
    </script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM