海外邮件中继,海外退信中继,美国高速VPS,不限流量VPN,邮局维护和管理,邮件网关,EMOS邮件中继,POSTFIX邮件中继,Winwebmail邮件中继,Winmail邮件中继,DBMail邮件中继,JDMail邮件中继,Exchange邮件中继,MDaemon邮件中继 淘宝店:http://shantan.taobao.com 云邮科技官网:www.yunrelay.com
【字体设置:大 中 小】
现在发现这个L-BLOG被我改的太完美了,功能已经非常的强大了,今天,就再来一个非常有用的功能,智能黑名单系统,原理很简单,就是每次用户提交参数错误以后,就自动记录错误记录,当记录大于等于三的时候,就自动将用户列入黑名单了,到了第二天用户才可以访问本站。
现在,我们来设计数据库的表了,不用很复杂,几个字段就可以了,重点是记录错误来源的页面以及提交的IP以及时间即可,所以,字段设计如下:
Err_id 自动编号 主键
Errorip 文本 字段大小20
Errorref 文本 字段大小100
Add_time 时间/日期 默认值Now()
保存表的名字为:blackip
然后在include/library.asp的最后,也就是"%>"之前加上以下代码:
Sub Add_blackip
Dim Errorref,Errorip
Errorref=request.servervariables("http_referer")
Errorip=Request.ServerVariables("REMOTE_ADDR")
Conn.execute("Insert into blackip (Errorref,Errorip) values('"&Errorref&"','"&Errorip&"')")
End Sub
Sub Blockip
Dim Erroripnum
Erroripnum=Conn.ExeCute("SELECT COUNT(Err_id) FROM blackip WHERE Errorip='"&Guest_IP&"' and Day(Add_time)=Day(Now)")(0)
If Erroripnum>=3 then
Response.write("<center><font color=red>由于你今天多次提交表单错误,系统自动屏蔽了你的IP,请改天再来吧!</font>")
Response.end
End if
End Sub
接着在你的blogcomm.asp;guestbook.asp;photoshow.asp;register.asp等页面的每个出错提示后加上Call Add_blackip
比如:
ElseIf Trim(Request.Form("validatecode"))=Empty Or Trim(Session("L-Blog_ValidateCode"))<>Trim(Request.Form("validatecode")) Then
msg_Title="出现错误"
msg_Content="<a href=""javascript:history.go(-1);"">你没有输入验证码或验证码错误,点击返回上一页</a>"
Call Add_blackip'这个是新增加的内容
最后在commond.asp里面找到站点统计代码,在End if后面加上:Call Blockip
哈哈,整个智能系统就完成了!赶快行动,给自己的博客增加防火墙吧!
为了方便大家,数据库我已经打包放上来了,大家导入你的数据库就可以使用了!
点击下载此文件
发表评论 - 不要忘了输入验证码哦!