
1 打開(kāi)控制臺(tái):
https://www.google.com/recaptcha/admin
2:創(chuàng)建新網(wǎng)站:
選擇 “reCAPTCHA v2” 一般用 V2,如果是用V3,就完全靠谷歌自己去識(shí)別,用戶(hù)無(wú)法點(diǎn)擊驗(yàn)證。
標(biāo)簽可自定義,比如 “MyWebsiteForm”
填入你的網(wǎng)站域名(不帶 http/https)
example.com www.example.com
如果你本地測(cè)試,可以添加:
localhost127.0.0.1
3: 提交后你會(huì)獲得:
Site key: 6LcXXXXXXXXXXXXX Secret key: 6LcXXXXXXXXXXXXX
4: 替換你 HTML 中的示例代碼:
<script src="https://www.google.com/recaptcha/api.js"></script> 如果需要指定英文:<script src="https://www.google.com/recaptcha/api.js?hl=en" async defer></script> 然后在驗(yàn)證碼處添加: <div class="g-recaptcha" data-sitekey="00000000000000000000000" data-theme="light" data-size="normal" data-callback="callback" data-expired-callback="expiredCallback" data-error-callback="errorCallback"></div>
5:最關(guān)鍵的一步,修改留言后端代碼。
后端用 PHP 示例,以PB為例子,打開(kāi)后臺(tái)提交留言的文件:MemberController.php
在文件中找到這一段:
if ($this->config('message_status') === '0') {
error(get_language('form_status')[0]);
}
在這個(gè)中間添加下面的那一段代碼
// 讀取字段 需要提前讀取獲取相關(guān)自定義信息 @LiuXiaoBai
if (! $form = $this->model->getFormField(1)) {
alert_back(get_language('form_emptyfield')[0]);
}然后在下面添加如下的代碼:
// ★ reCAPTCHA 驗(yàn)證邏輯 ★
if (isset($_POST['g-recaptcha-response'])) {
$recaptcha = $_POST['g-recaptcha-response'];
$secret = "00000000000000000000000"; // 你的 Secret Key
$verifyResponse = file_get_contents(
"https://www.google.com/recaptcha/api/siteverify?secret={$secret}&response={$recaptcha}&remoteip=" . $_SERVER['REMOTE_ADDR']
);
$responseData = json_decode($verifyResponse);
if (!$responseData->success) {
alert_back("reCAPTCHA 驗(yàn)證失敗,請(qǐng)重試!");
}
} else {
alert_back("請(qǐng)完成驗(yàn)證碼驗(yàn)證!");
}
// ★ reCAPTCHA 驗(yàn)證結(jié)束 ★這樣就算完成了。
有關(guān)我們服務(wù)的更多信息,請(qǐng)聯(lián)系項(xiàng)目經(jīng)理
15899750475 楊先生