快捷搜索:   nginx

也说投票系统的防范

注意:文章首发eteek的blog,后由原创作者友情提交到邪恶八进制信息安全团队技术论坛。转载请注明原始出处。

PS:eteek就是verror,只因为论坛注册必须要6位。

因为工作需要,需要制作一个投票程序。因为各种原因,只有很短的时间去做这个程序,因为以前没有做过此类程序,因此此程序一直在查找漏洞中运行。个人认为此类程序很能考验一些新手(本人就是)的事务处理能力。

其实这个问题我在邪八发过帖讨论过。

分析与总结如下:

1、禁止外部提交数据。
这一个是非常重要,这个代码很好找,网上就有。

基本就是如下:

Copy code
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 then
      response.write "禁止外部提交数据"
      response.end
else

~~~~~~

end if


2、加验证码

关于加这个功能有很多争议,并且验证码很容易被绕过。放在里面还是不错的,以往我都是放在投票页的,今天看到一个强人噢,他让你一点,就弹出一个页面,让你输入,这针对某些注册机还是非常有效的。

3、加验证码还得必须加上一句:强制刷新与禁止后退功能

强制刷新可以防止验证码问题

禁止后退可以防止那种点“后退”按钮进行操作的方法,不过可能用户使用不方便。

4、限制IP功能

因为某些使用代理来投票。放一个取真实IP的FUNCTION,也是网上,不知道是哪位兄弟写的,先谢过了~

Copy code
<%

'**********************************************************
Function getIP()
Dim strIPAddr
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1,InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1,InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP = Trim(Mid(strIPAddr, 1, 30))
End Function%>


5、COOKIES法与数据库记录法

我采用COOKIES采集与数据库采集同时使用的方法,在判断COOKIES的同时,还要判断数据库中的IP记录,比如说同一天内这个IP的个数,如果超过20也CUT,

给个SQL语句

Copy code
"sql="select * from fy_user where u_ip='" & ip & "'and DatePart('m',u_add_time)=DatePart('m',now()) and DatePart('d',u_add_time)=DatePart('d',now())"”

if rs.RecordCount>=20 then ~~~


6、很容易被忽略的一点:

提示“投票成功”页面与投票页的分离,我就犯了这个错误。

所以,要记住在提示response.write("OK")的同时,一定要放在ok.html页,切记切记~~~

当然,如果服务器程序不安全,被人拿到权限,那就没得玩了~

就写这么多了,等俺记起来再说~~
顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论