打印本文 关闭窗口 | |
突破ip封锁登陆论坛系统 | |
作者:陈鹏 文章来源:eNet 点击数 更新时间:2009/9/11 19:26:51 文章录入:陈鹏 责任编辑:陈鹏 | |
|
|
OK让我们开始。 论坛过滤 ip是在setup.asp这个页, if Request.Cookies("username") <> empty then sql="select * from [user] where username='"&HTMLEncode(Request.Cookies("username"))&"'" Set Rs=Conn.Execute(SQL) if rs.eof then Response.Cookies("username")="" if Request.Cookies("userpass") <> rs("userpass") then Response.Cookies("username")="" membercode=rs("membercode") userface=""rs("userface")&"" newmessage=rs("newmessage") userlife=rs("userlife") set rs=nothing end if if Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty then remoteaddr=Request.ServerVariables("REMOTE_ADDR") else remoteaddr=Request.ServerVariables("HTTP_X_FORWARDED_FOR") end if if badip<>empty then filtrate=split(badip," ") for i = 0 to ubound(filtrate) if instr(" "remoteaddr&""," "&filtrate(i)&"") > 0 then response.redirect "inc/badip.htm" next end if if Request.Cookies("skins")=empty then Response.Cookies("skins")=style 这段代码就是setup.asp里验证用户这块,先读下吧.如果cookies不为空,则读取数据库验证用户的密码是否正确,正确的话定义变量,把一些需要用到的变量全都用数据库里读出来的数据赋值。然后进行读ip.如果ip属于被封的,则导向badip.htm禁止发登陆。 我们学校的系统和这个代码有出入,他们是自己改的代码。把校外的ip 全封掉,不过都是在这个基础上改的。他们的验证是另外写了一段代码验证的。应该是在登陆页做的封ip段代码,猜想是先判断cookies是否是真的,如果存在的话就直接跳过验证ip那段。如果为空的话,则用户没有登陆,然后才进行ip验证。他们的思路应该是这样。(没办法,不是我自己的系统,只能猜他们的封ip思路)导致过滤不严密。 |
|
打印本文 关闭窗口 |