首页 | 心情日记 | 建站心得 | 编程技术 | 大盘分析 | 股市信息 | 学习园地 | 电脑技巧 | 物流外贸 | 另类其它 | 站长推荐 | 给我留言 | 相册

用户登陆
用户:
密码:
 
不保存保存一天
保存一月保存一年

站点日历
73 2024 - 11 48
     12
3456789
10111213141516
17181920212223
24252627282930


站点统计

最新评论

日志搜索

 标题   内容


轻松绕过网站验证码 ASP中几个实用的小技巧
未知 如何让你的验证码真正起作用!   [ 日期:2010-03-10 21:49:18 ]   [ 来自:本站原创 ]

海外邮件中继,海外退信中继,美国高速VPS,不限流量VPN,邮局维护和管理,邮件网关,EMOS邮件中继,POSTFIX邮件中继,Winwebmail邮件中继,Winmail邮件中继,DBMail邮件中继,JDMail邮件中继,Exchange邮件中继,MDaemon邮件中继 淘宝店:http://shantan.taobao.com 云邮科技官网:www.yunrelay.com

【字体设置:
现在的网站基本上发表留言,注册,评论等都使用到了验证码这一关,一开始的时候,验证码难倒了那些群发的软件,但是随着程序员水平的提高,他们的程序也可以识别图片形式产生的验证码了,这样的话,垃圾广告满天飞,到处都是不良信息,真鄙视那些SEO们!

为了防止垃圾评论,很多人采用了不用的验证码程序,有些验证码连人工都难于识别,更何况是那些所谓的智能软件呢!但是即使那么复杂的验证程序,还是一样被绕过了?为什么呢?道理其实很简单,那是因为程序写的不严谨而已,过滤不全面。

我们知道,每次我们访问验证码网页的时候,就会产生一个SESSION对象,然后我们把表单中的验证码跟这个SESSION进行对比,如果相同就通过验证,但是这样是不全面的,因为当我们访问验证码的时候,如果提交的内容出错,验证码的SESSION并没有被清空,这样输入原来的验证码还可以继续发表评论,所以很多群发机就是利用了这一点不断进行猜解,直到发布成功为止。

其次,假使我们不访问验证码程序的网页,那么就不会产生SESSION对象了,然后让群发的程序在提交的时候也不提交验证码,验证码这一关就轻松地被绕过了,那些验证码形态虚设!根本就起不了保护的作用!

居于上面的漏洞,我们可以进行以下的修复:
假如我们表单的验证码的名字为code,验证验证码的session("code"),我们需要这样进行验证:
if request.form("code")="" or session("code")="" or request.form("code")<>session("code") then
response.write"验证码为空或验证码错误,请返回重填!"
response.end
end if

另外,我们还要加强禁止外部提交表单,验证来源页面是否合法:
Dim server_v1,server_v2
server_v1=cstr(request.servervariables("http_referer"))
server_v2=cstr(request.servervariables("server_name"))
if mid(server_v1,12,len(server_v2))<>server_v2 and mid(server_v1,8,len(server_v2))<>server_v2 then
response.write"禁止从外部提交表单!"
response.end
end if

通过以上两道验证,垃圾评论基本可以解决了,但是手工来发的就没有办法了,你可以在表单中过滤掉那些网址,电话号码,QQ号码,等等。

暂时没有评论
   发表评论 - 不要忘了输入验证码哦!
作者: 用户:  密码:  我要注册 验证码: 
为防止广告注册机程序,验证码不会自动显示,请点击此处显示或者(刷新)验证码!
评论:

禁止表情
禁止UBB
禁止图片
识别链接
识别关键字
确定发布?
最多可以输入200个字,目前你已经输入了0个字;你今日还可以发表10条评论!
 
   

CopyRight © 2008-2010 广东金融学院030904班 All Rights Reserved
Powered by www.030904.com