在本教程中,我们将使用 Ajax将Google reCAPTCHA v3添加到PHP表单中并提交而不离开页面。如果您的网站上有联系表格或任何此类表格,您就会知道从机器人接收垃圾邮件是多么令人讨厌。Google reCAPTCHA保护您免受垃圾邮件和其他自动滥用的侵害。要继续学习本教程,您需要具备HTML,jQuery和PHP的一些基本知识。
为什么选择Google reCAPTCHA v3?
我们所有人都有令人沮丧的经历,他们试图通过一种形式来快速提交一些信息,而这些形式最终只能面对验证码挑战。我们不得不输入随机字符,然后想知道“是两个V还是W?”,“是否应该添加该空格?”。
然后,我们必须选择所有具有斑马线或桥梁的图像,以证明我们是人类。值得庆幸的是,这些天来,许多网站都添加了Google reCAPTCHA v2,它仅显示一个复选框-“我不是机器人”。
但是,在2018年,Google发布了下一版本– reCAPTCHA v3,它根本不需要任何用户交互。它在后台工作,观察用户的行为。此版本为我们(开发人员)提供了一个分数,该分数指示了交互的可疑程度。我们可以使用该分数来防止垃圾邮件。在Google的官方网站管理员博客上了解其工作原理。
现在让我们学习如何将其添加到帝国CMS 的表单中。
第一步 注册reCAPTCHA v3密钥
您需要先注册您的网站并在此处获取密钥-https: //www.google.com/recaptcha/admin/create。添加标签,选择reCAPTCHA v3,输入您的域名并提交。
这将生成一个“站点密钥”和一个“秘密密钥”。复制两者并确保它们安全。我们将很快需要它们。
第二步 前端
让我们使用一个简单的联系表,其中包含全名,电子邮件和消息字段
HTML 页面
为了简化本教程,下面仅显示HTML代码。
加载 jQuery 库
<script src='/static/js/jquery.min.1.8.3.js' defer></script>
使用网站密钥加载 JavaScript API
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key" async></script>
表单代码
<form action="/e/enews/index.php" id="contact-form" method="post" enctype="multipart/form-data" name="commonBottom" id="common">
<input type="hidden" name="enews" value="AddFeedback">
<input type="hidden" name="bid" value="2">
<input type="hidden" name="title" value="Common form">
<input type="hidden" name=