有些真情部落格2014发东西要验证码可是验证码那里什么的没有

验证码验证程序需要注意的一些地方
网站的验证码是为了检查客户端的操作者是人,而不是机器人,的一项功能。但在代码书写的时候,程序员处理不当,可能造成验证码形同虚设。在注册功能上,验证码功能失效会造成批量注册漏洞;在登录功能上,验证码功能失效会造成暴力破解漏洞。
根据我的经验,在写验证码的验证程序时,通常注意以下几点:
1,不允许用户输入空的验证码,
在需要检查用户重复操作的方法中,遇到用户输入了空的验证码,立即返回。这是因为,空的验证码很有可能是黑客不经过前台页面直接把数据提交给后台处理程序的结果。
这里用一个注册程序举例:前台页面 reg.html 后台页面 reg.aspx
现在假设reg.aspx没有检查用户输入的vcode(验证码)是空的情况。
攻击方法:写程序直接把数据提交到reg.aspx,而不经过reg.html,这时存在COOKIES或SESSION
里面的验证码为空,提交的验证码也设为空,这时验证码都为空,则注册成功。
程序反复提交注册数据,则形成批量注册漏洞。
修补方法:reg.aspx中检查用户输入的验证码,如果为空,则返回。
2,如果使用COOKIES存储验证码,不能使用明文。
对于黑客来讲,COOKIES是看得见摸得着的,只要在地址栏里输入javascript:alert(document.cookie);
就能看到当前站点的COOKIES信息。如果COOKIES以明文存储验证码,那黑客仍然可以编写程序获得这个
验证码,进行反复提交,验证码功能还是形同虚设。如果使用SESSION,则可避免这个问题,然而SESSION
的使用一直很有争议。还以上面的例子。
攻击方法:写个带有WEBBROWSER的程序,使WEBBROWSER定位到reg.html,执行一个把COOKIES中验证码写到
对应输入框的JS,填写其他注册信息,就可以反复提交了。
修补方法:使用DES加密验证码后,存储这个密文到客户的COOKIES里,检查时解密这个密文进行比对。不建
议使用MD5加密,因为MD5的方法使用的多,很容易被黑客发现,由于验证码通常比较短,所以MD5的密文很容易被黑客破译。
3,用户操作成功后立即删除验证码COOKIES或SESSION,避免用户使用同一验证码进行重复操作
攻击方法:如果操作成功没有删除验证码,黑客可以重复提交这一个验证码,即可以手动输入第一个验证码,之后始终重复提交此验证码。
修补方法:操作成功后删除存在COOKIES中或SESSION中的验证码,即置为空。
4,如果使用COOKIES,验证码与IP的对应列表应存在服务器一份。
这个方法是为了防止COOKIES欺骗。即,黑客可能提交了一个伪造的COOKIES验证码。
攻击方法:可以使用HOSTS文件的解析功能伪造一台与被黑主机同一根域名的主机。使用伪造的主机写入COOKIES然后再提交这个验证码到直正的被黑主机。攻击的另一个方法是直接写SOCKET程序提交自己写的任意COOKIES,这样无论怎样加密,攻击者只需要一对COOKIES验证码密文和输入验证码的明文,就可以实现重复提交。
修补办法:A使用SESSION(注意效率)B把验证码的IP与验证码明文存储在服务器一份(存在CACHE或数据库中),这样验证的时候,如果服务器的列表中不存在此IP或验证码明文,则认为是黑客行为,不准进行操作。
做到以上四点,验证码部分就可以认为是基本安全的了。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。为什么我注册新浪博客时没有验证码?_百度知道
为什么我注册新浪博客时没有验证码?
急!!!!!!
我有更好的答案
是你电脑网络问题吗?
注册下来就行了啊 管他有没有啊哈哈 还少费点脑子
其他类似问题
新浪博客的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁王俊凯部落格发东西要验证码可是验证码那里什么的没有 怎么办?_百度知道
王俊凯部落格发东西要验证码可是验证码那里什么的没有 怎么办?
我有更好的答案
按默认排序
我的都有应该不会吧,刷新一下试试。
我弄过很多边了,每次都是一样,验证码那里都是空的 可是不输验证码就不能发
重启计算机呢
我是用手机
其他类似问题
部落格的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 小气少年的部落格 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信