通过查看js代码发现点选文字验证码原理如下:
1 先调用addons/clicaptcha/index/start
方法返回一张画上文字的图片,
同时图片文件的HTTP头信息里有个设置cookies的指令:Set-Cookie: clicaptcha_text=%E6%9D%A5; expires=Mon, 08-Feb-2021 01:50:33 GMT; Max-Age=600; path=/; secure,
把图片上的文字设置到cookies的clicaptcha_text
变量中,
,然后在图片加载完成事件里,通过var text = getCookie('clicaptcha_text').split(',');
来获取文字内容
在谷歌浏览器下,这个cookies设置就失效了
所以导致提示文字获取不到
经过测试,把addonsclicaptchalibraryClicaptcha.php
thinkphp的设置cookies
函数有问题
第40行设置cookie函数替换成PHP原生函数可以解决问题
setcookie('clicaptcha_text', implode(',', $text),time()+3600*24,'/');
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。