实现原理:
在后台登录表单中管理员名称后面输入当前日期(如21,表示21日),在后台权限验证过程中,将此名称与程序进行比较,如果包含此日期,则取出此管理员原始名称,再进行数据库操作。 [转自:711网络工作室 http://www.tc711.com]
主要用途: [转自:711网络工作室 http://www.tc711.com]
此方法通过ASP文件与数据库相结合的方式,在很大程度上加强了后台的安全性,即使因程序存在SQL漏洞而使其数据库被下载,当攻击者不知道动态用户名算法时,仍然不能登录后台。
代码(以 为例):
<% '表单内容安全性检查 AdminName=CheckSql("用户名",Request.Form("name"),1,16) '取用户输入的管理员名称后面两位 LastID=Right(AdminName,2) '取用户输入的管理员名称除最后两位外的其它内容 AdminName2=Left(AdminName,Len(AdminName)-2) '最后两位数字与当前日期进行比较,如果为真,则继续检查这两位是否都是日期,如果不是,则需要将不是日期的内容加入到AdminName2中以构成正确的管理员名称;如果是的话,不需要处理,直接采用AdminName2即可 if instr(LastID,cint(day(now)))<>0 then LastID2=replace(LastID,cint(day(now)),"",1,1) if LastID2<>"" then AdminName2=AdminName2&LastID2 end if '以下为通过数据库操作 sql="select * from Ft_admin where admin_name='"&AdminName2&"'" …… %>
通过此教程,只是告诉大家一种思路,在实际使用时,还可以自己设置动态算法,只让自己知道,呵呵。
另外,在选择网站空间时,特别是注意空间是否存在旁注的漏洞,如果存存的话,上述方法就没有效果喽。
|