为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 PHP 正确安全地验证 CAPTCHA

如何使用 PHP 正确安全地验证 CAPTCHA

PHP
幕布斯7119047 2021-11-26 19:38:41
我正在使用谷歌 reCAPTCHA,它工作得非常好。但由于一些问题,我开始使用 php 图像验证码。CAPTCHA 图像已正确呈现,但我无法正确验证。我使用此代码生成 CAPTCHAsession_start();if(isset($_SESSION['captcha_text'])){unset($_SESSION['captcha_text']);}$permitted_chars = '123456789ABCDEFGHJKLMNPQRSTUVWXYZ';// ...// code to generate CAPTCHA// ...header('Content-type: image/png');imagepng($image);imagedestroy($image);?>然后我使用此代码显示验证码<img src="CAPTCHA/captcha.php" alt="CAPTCHA" class="captcha-image"><i style="position: absolute;" class="refresh-captcha"></i><BR><input autocomplete="off" style="margin-top: 0.8rem;" type="text" id="captcha" name="captcha_challenge" pattern="[A-Z]{6}">现在我使用此代码在另一个 PHPfile 中验证 CAPTCHAsession_start();header('Content-Type: text/html; charset=utf-8', true);if(isset($_POST['captcha_challenge']) && strtoupper($_POST['captcha_challenge']) == $_SESSION['captcha_text']) {    echo '<p>You entered a correct Captcha.</p>';} else {    echo '<p>You entered an incorrect Captcha.</p>';}$_SESSION['captcha_text'] = NULL;unset($_SESSION['captcha_text']);exit;到现在为止它工作正常。我手动测试它,它的工作原理。但是当我使用一些安全脚本来测试表单时,我会收到垃圾邮件。为什么??我错过了什么?<--抱歉我的英语不好-->
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

好的,在互联网搜索之后,我决定回到 Google reCaptcha 并尝试使用 reCaptcha 修复我网站中出现的显示问题。正如@Steve所说

与其尝试重新发明轮子,不如省去麻烦并使用 Google reCaptcha。


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 326 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信