[英]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.