验证码提交后不更新,一直可用同一个验证码提交多次,怎么刷新

迅睿框架 更新 2022-12-26 11:27:39 赵二黑


我在文档里找到验证码调用代码


 if (!\Phpcmf\Service::L('Form')->check_captcha('code')) {//验证码不对

                die('验证码不对');          

   }


这样文档里边说,验证成功了会刷新验证码,但是我这边是不会刷新的,我ajx提交验证码过去,他判断成功了。

下次只要我不前台刷新验证码 就能一直用这个提交,请问怎么在提交完后将验证码更新,防止别人用程序一直提交一样的验证码!


方案

  • 迅睿框架创始人 #1 · 2022-12-25 22:29:43
    \Phpcmf\Service::L('cache')->del_auth_data('web-captcha', SITE_ID);
  • 赵二黑 #2 · 2022-12-26 09:05:10
    回复迅睿框架创始人 这样还是不行 if(\Phpcmf\Service::L('Form')->check_captcha('code')){ \Phpcmf\Service::L('cache')->del_auth_data('web-captcha', SITE_ID);//更新验证码 var_dump("验证成功"); }else{ var_dump("验证失败"); } 这样一直提交一个码还是会验证成功

  • 赵二黑 #3 · 2022-12-26 10:55:56
    回复迅睿框架创始人 我发现点击验证码,生成的缓存名字是 /cache/authcode/8fe0ccfb3827ccd8edfee6495ea7289d但是执行 \Phpcmf\Service::L('cache')->del_auth_data('web-captcha', SITE_ID);这个语句的时候,里边要删除的文件名是 /cache/authcode/4f92a19024cdbc912d487b9139d62666 导致验证码缓存没删掉不知是哪里出了问题
  • 幸运兔 #4 · 2022-12-26 10:57:30
    说明文件权限不够,删不掉
  • 赵二黑 #5 · 2022-12-26 11:06:25
    不是权限问题,权限问题,权限都正常,是生成的缓存名,和要删除的缓存名,不一致,这里边不知道哪有猫腻,还没找到其中原因
  • 优速开发工作室 #6 · 2022-12-26 11:08:05
    是不是用了cdn了,cdn情况下需要单独设置一下
  • 赵二黑 #7 · 2022-12-26 11:27:39
    优速开发工作室 使用了CDN 百度云加速 su.baidu.com

迅睿系统漏洞

站群分站系统
站群分站系统(2026-10-15)
子站域名新增llms.txt访问
GEO系统
GEO系统(2026-10-14)
修复下载zip空白地址问题 修复流量复刻和任务队列错误
GeoSeo收录宝
GeoSeo收录宝(2026-10-14)
新增 站长工具箱 前端首页自动调用meta 数据
滑块验证码 Gocaptcha
滑块验证码 Gocaptcha(2026-10-13)
基于开源项目 go-captcha 的行为验证码插件,滑动拼图、区域...
GeoSeo工具箱
GeoSeo工具箱(2026-10-13)
优化巡检任务
GeoSeo排名助手
GeoSeo排名助手(2026-10-11)
加入大模型自定义
SEO聚合关键字
SEO聚合关键字(2026-10-11)
优化关键字列表页最多支持1万篇文章,过多会导致服务器扛不住;
CMS内容同步复制
CMS内容同步复制(2026-10-10)
增加时间是否更新的开关