APP 验证码 采用MEMCAHED验证的坑

都知道APP不是用浏览器来的,所以验证码生成session cookie是行不通了。

一开始APP进入验证码界面,先让他请求一次服务器,生成key:code返回去。再把拿到的KEY带到服务器上面去生成图片。同时生成一个key:code再把key返回到客户端,当客户端验证图片的时候再把key再到服务器上去获取key里的code进行对比。一旦对比成功放行,对比失败。提示切换验证码。

按这流程先我用memcached 再本地安装了memcached测试都没有问题,但是拿到服务器上去,有时候就是命中不了。导致图片生成的时候老是有问题。后来采用了文件缓存。采用文件缓存来对比客户端提交上来的key.至少这样每次对比都是成功的。但memcached. 我不知道为什么那么容易不容易被命中。生成的缓存文件时候,把这个生成的文件我又保存到另一个文本文件里带上了时间。当每次生成图片的时候,我先会去读取出为个文本里超时的文件,然后把它删除掉。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

swap空间的增减方法

(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap

GoJS API学习

varnode{};node"key""节点Key";node"loc""00";//节点坐标node"text""节点名称";//添加节点通过按钮点击,添加新的节点到画布myDiagram.model.addNodeData(nod