昨天想注册个 Microsoft 账号,先是没挂梯子直接用中国 IP 去注册的,遇到逆天验证码,从 6 个静态图片中选出向后走的动物,并且要连做 6 道,一旦有一次不对,就要从头来过。
失败次数多了之后,验证次数也会增加,要连做 9 道并且不能出错。
后来我试了挂了香港 IP 再去注册,换成了个简单的选相同图案的验证码,并且只需要一次正确就可以了。妈的搞歧视吧?
微软的逆天验证码
最近服务器上迁移过来了一些网站(后台是DEDECMS),今天遇到了两个因为PHP缓冲区导致的图像损坏问题。
1.验证码无法显示
这个验证码在原本的服务器上是正常的,到了新服务器上却无法显示了。
对于这个问题,我们可以修改dedecms的文件去除验证码,但是这个办法治标不治本。正确的处理办法是在include文件夹的vdimgck.php里加一句ob_end_clean();函数来解决。
Read More →
PHP缓冲区问题导致的dedecms异常
今天想到了验证码倒计时的效果,于是做了一个出来。
发现定时器里面写函数名的话,如果带了括号,函数会瞬间执行多次。
代码如下:
<form action=""> <input type="text"> <input type="button" id="getyzm" value="获取验证码"> </form> <script> function yzmdjs (id,time) { var getyzm=document.getElementById(id); var getyzmYuan=getyzm.value; getyzm.setAttribute("disabled","disabled"); time=time; getyzm.value=time+"秒后可重新获取验证码"; daojishiT=setTimeout(daojishi(),1000); function daojishi () { //console.log(time); time--; getyzm.value=time+"秒后可重新获取验证码"; if (time==0) { getyzm.value=getyzmYuan; getyzm.removeAttribute("disabled"); }else{ daojishiT=setTimeout(daojishi,1000); }; } } document.getElementById("getyzm").onclick=function (argument) { //添加发送验证码的操作 yzmdjs(this.id,10); } </script>
js做的获取验证码倒计时效果
这两天垃圾评论猖獗,今天上午一次性给我来了40多条 查看截图 。还经常换IP,很难禁止。虽然为了用户方便一直不想加验证码,但现在迫不得已还是要加上。最后用了QapTcha这个插件,滑动解锁,还是比较友好的。
今天添加了评论验证码
一般是给手机发送验证码的按钮,发送一次之后一定时间内不可再发送,从网上找了一个例子试了试。
首先是html部分,先引入jq,然后主体部分就一个按钮,样式可以忽略
接下来是js部分
[code lang="js decode:true ">
wait就是设置的时间了,有两个地方要改;元素的ID根据情况;两个状态下显示的文字也可以改。基本就这些了。
参考:http://www.ipanta.com/article/show/96.html
(一开始我是直接复制过来放在demo里面试的,点了一次发送之后确实出现了倒计时,但是过了一会儿回来一看,计时到了-460秒了,还没有变回去。看了看发现是这个网页的判断条件存在问题,在重置判断里面加上了倒计时小于等于0的条件,然后就能正常用了~
jq发送验证码倒计时效果
有时候登录 dedecms不显示验证码图片,坑爹呢!如果确认 dedecms是完整安装了,那么可能是运行环境的问题,把运行环境的全部套件重新启动,或者卸载再重新安装运行环境,应该就可以了。
如果还不行,一个坑爹的解决办法:
- 找到data文件夹,下载safe文件夹里面的inc_safe_config.php文件,找到第一项$safe_gdopen = '1,2,3,4,5,6,7'
- 删除这一项当中的6,7,只剩下$safe_gdopen = '1,2,3,4,5';然后保存上传覆盖原文件。
- 然后登录网站后台,你会发现,没有验证码输入框了。
其实这么做是登录的时候不需要验证码验证了。但是数据库批量替换等需要验证码的时候,一样图片出不来,不是解决问题的根本方法。