验证码的实现思路流程
最近学习了下这方面的内容,就简单的理一下思路,这里就拿12306的图片验证码举例子其实大致的实现思路可以是这样子的
- 去数据库随机抽取八张图片
- 数据存入session,关于session的解释session 是一个抽象概念,由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是session
- 生成验证图形,客户端进行对图片组合,比如拿12306来讲,可以取到图片随机组合,然后随机产生一个图片中的名字,然后以及那个名字所对应的图片的坐标,这个坐标就是答案了。
- 发送图像给客户端
- 根据返回来的坐标,比较验证码正确性
具体流程如下所示
关于12306验证码是如何验证,其实是这样的
通过调试工具找到它的这个图片的标签
其实它发送给服务器的就是这些坐标来进行验证的
我们进行提交,传送给服务器的数据