1
我目前正試圖瞭解ReCaptcha如何工作。 我做了演示這個簡單的HTML表單:ReCaptcha檢查不起作用
<form id="comment_form" action="form.php" method="post">
<input type="email"><br><br>
<textarea name="comment" rows="10"></textarea><br><br>
<input type="submit" name="submit" value="Post comment"><br><br>
<div class="g-recaptcha" data-sitekey="6LfXcggUAAAAAJ7txEVLU949P4SHWk5eXoSYksQ1"></div>
</form>
<script src='https://www.google.com/recaptcha/api.js'></script>
,這是我的PHP代碼:
$email;
$comment;
$captcha;
if(isset($_POST['email']))
{
$email=$_POST['email'];
}
if(isset($_POST['comment']))
{
$email=$_POST['comment'];
}
if(isset($_POST['g-recaptcha-response']))
{
$captcha=$_POST['g-recaptcha-response'];
}
if(empty($captcha))
{
echo '<h2>Please check the the captcha form.</h2>';
exit;
}
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=DONTPUBLUSHYOURSECRETDUDE&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
if($response->success === false)
{
die('<h2>You are a spammer</h2>');
}
echo '<h2>Thanks for posting your comment.</h2>';
此腳本輸出甚至儘管用戶沒有通過驗證碼的挑戰Thanks for posting your comment
。
@timyRS能否請你給我一個例子,如何用JavaScript來實現。我發現可以使用「g-recaptcha-response」,但我沒有理解它在這個內容上的作品。 –
你已經發布了你的密鑰,建議你改變它。 – timmyRS
是的,這只是爲了演示的目的。謝謝你的答案,我明天將在學校嘗試。 –