图片验证码过时了

上一篇 / 下一篇  2007-10-29 17:39:03

查看( 4538 ) / 评论( 36 )
今天逛jquery.org.cn发现个很好的东西,替代图片验证码的方案。图片验证码这个东西应该有好多年的历史了,只发现图片的花样一直换,而很少有人去替代图片验证码的方案。填验证码真是很烦的一件事。
我这里大概说下新东东的原理,多的不说了下面的文章很详细。其实这个方法并不是一定要jqeruy才能实现,实际上就是通过ajax请求一个动态页产生一个随机数,然后加密(不要简单的md5)写入cookie,把随机数返回到浏览器通过JS在form里加上一个hidden.这样表单提交上去再与cookie值中对比达到验证的功能,这样的好处一用户不用输验证码了。
http://wiki.jquery.org.cn/doku.p ... A6%E4%BC%9Ajquery_2
http://www.coderhome.net/zifa/?p=131

TAG:

特蓝克斯 -- Amanda 的生活 特蓝克斯 发布于2007-10-29 14:41:09
  研究一下.
wakmp的个人空间 wakmp 发布于2007-10-29 15:27:15
个人觉得 这个方法  不好   太容易被破解    加密毫无意义
oneeo001发布于2007-10-29 16:35:58
要重点研究

十五工作室 七月十五 发布于2007-10-29 16:59:06
只要是机器产生的验证,一般总达不到验证的效果吧
验证机器人,一定要用手工的
否则很容易就破解掉了
志凡的个人空间 dzjzmj 发布于2007-10-29 16:59:12

QUOTE:

原帖由 wakmp 于 2007-10-29 15:27 发表
个人觉得 这个方法  不好   太容易被破解    加密毫无意义
加密和图片验证码原理是一样的,我觉得没有比图片验证码更容易破解的说法
志凡的个人空间 dzjzmj 发布于2007-10-29 17:02:28

QUOTE:

原帖由 七月十五 于 2007-10-29 16:59 发表
只要是机器产生的验证,一般总达不到验证的效果吧
验证机器人,一定要用手工的
否则很容易就破解掉了
我只知道,图片验证码和这种方法机制是一样的,两个值一个是cookie(或session)记录验证码加密后的结果,一个就是表单提交上去的,和手工没有区别,问题就是你的加密不要给人知道就可以了,机器人实际上就是提交表单验证码过来,然后cookie,他必须知道加密算法
僭燮水的个人空间 僭燮水 发布于2007-10-29 17:13:04
楼上的交换友情连接不:  phpq.net 交换就Q我 783136

自己做项目用还可以,做到产品里就不行了

比如如果Discuz!使用这种验证机制就不行,:)

不过做到自己的blog里就比较风骚了

[ 本帖最后由 僭燮水 于 2007-10-29 17:18 编辑 ]
僭燮水的个人空间 僭燮水 发布于2007-10-29 17:15:22

QUOTE:

原帖由 dzjzmj 于 2007-10-29 17:02 发表



我只知道,图片验证码和这种方法机制是一样的,两个值一个是cookie(或session)记录验证码加密后的结果,一个就是表单提交上去的,和手工没有区别,问题就是你的加密不要给人知道就可以了,机器人实际上就是 ...
用JavaScript去进行加密,那么加密算法一定能被人搞出。源代码都在哪呢,怎么会不知道呢?

还有就是PHP的session和cookie不是一个安全级别的

cookie这种本地可以伪造的量是永远不能相信的
志凡的个人空间 dzjzmj 发布于2007-10-29 17:19:59
让先研究一下吧,加密是在PHP中加密的,没有在JS中
僭燮水的个人空间 僭燮水 发布于2007-10-29 17:41:07

QUOTE:

原帖由 dzjzmj 于 2007-10-29 17:19 发表
让先研究一下吧,加密是在PHP中加密的,没有在JS中
我错了:Q

刚下载了代码看了下,恩

收回上面2楼的回复


:lol :lol
志凡的个人空间 dzjzmj 发布于2007-10-29 19:33:21
http://coderhome.net/?action=add
今天我这个东西就遭遇机器人,刚把这个功能加上,试试效果就知道了,哈哈
志凡的个人空间 dzjzmj 发布于2007-10-29 22:16:19
继续讨论
志凡的个人空间 dzjzmj 发布于2007-10-29 22:17:53
我的版块人气不够,链接一下
复制功能跨浏览器实现
http://www.phpchina.com/bbs/thread-41143-1-1.html
jecelyin发布于2007-10-30 08:50:00
要是禁止了Cookies呢?
白月的个人空间 byqy 发布于2007-10-30 09:11:11
验证码的重点你还不知道吧,主要是防止那些人恶意 的发布东西,或者直接弄个机器人给你发。其实验证码主要是严正是不是人在操作这个数据的变更。重点不是安全的验证。

你那样做,还不是可以做到机器人发东西。
flyinghail发布于2007-10-30 10:25:29
没有用
没有用
存在cookie中程序很容易获取,你这个方法把要输入的内容通知了客户端,那么客户端就能够把它返回给服务器,这是很显然的问题

验证码不是用cookie的,都是session,验证码并没有通知客户端密码是什么,客户端除了分析图片没有办法获取到实际的内容,简单的验证码已经被破解,所以现在的验证码越来越复杂

一句话,只要你告诉了客户端那么客户端就能返回给你。就算你加密,你用什么加密,你在哪里加密?你在服务器加密,你还是把打算从客户端获得的信息告诉了客户端,那就能把这个信息返回服务器。你用客户端加密,既然我是客户端,那我就可以完全按照你的加密方法把数据返回去

区别仅仅是需要专门为你的网站改一下程序,其实除非是通用的产品,想做这种垃圾回复不都得专门写程序....
oneeo001发布于2007-10-30 10:49:23
觉得没什么意义呀
:)
why0813发布于2007-10-30 10:57:24
就俩字:超级没用。
pylong的php学习blog pylong 发布于2007-10-30 11:14:47
楼上,四个字吧
其实这种方法也不失为一种好的方法,网络就是要方便,输入验证码是为了实现某种防止刷新或者防止发帖机械人等等的机制,如果不用输入也能完成,何乐而不为呢,而把验证码搞到中文那么复杂,真的是想不通咋回事
志凡的个人空间 dzjzmj 发布于2007-10-30 14:16:16
说没用的请拿我这个程序开刀http://coderhome.net/?action=add,如果你能写个程序往上面发东西我就认了
我来说两句

(可选)

Open Toolbar