填写验证码的图案是怎么弄的?

clipboard.png
就像这样的有背景颜色中间还有线条

阅读 4.1k
7 个回答

数字是随机生成的字符串,颜色就是背景色

说一个思路把
1.随机生成字符串
2.遍历字符串将每个字符旋转和变大变小一下
3.加上背景图
ok!

新手上路,请多包涵

在一张画布上面画随机的数字,随机画几十条短直线,也可以给这些数字,直线设置随机的颜色

一般是后台直出img。
这个要根据你的后端语言去选择合适的方式,但关键都不外乎:
图形库
指定content-type
设置session
如php的GD和node的node-canvas,这些图像库能让你创建图像。
你可以通过随机算法随机生成一段字符串,写入session和图形中,然后再次通过随机算法生成噪点和干扰线,增强机器识图的成本。
一般来说,有些图像库会自动设置content-type,这个不需要太费心。
需要注意的点有,字母最好使用大写,区别大一些,零与O最好不要使用,容易混淆。

前端的话用canvas做出来的,如果交给后端的话也是他们做出来,比如php就用GD库

运用html的canvas画布功能,画的方式和数字随机。
不过需要的注意的是,随机方式机制最好在后端做,并做加密,不然很容易做个破解插件。

前端请不要搞什么验证码...直接怼给后端,因为前端生成不安全

如果非要搞的话用 canvas 先画随机颜色 background ,然后 数字带偏移和旋转的放上去, 最后加上噪点和随机线条就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题