知识大全 asp有效防止网站留言板出现垃圾留言/评论实现思路
Posted 知
篇首语:知识是果树,知识的应用就是果树上结的果实。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 asp有效防止网站留言板出现垃圾留言/评论实现思路相关的知识,希望对你有一定的参考价值。
一 在表单填写页面: <input name=intime type=hidden value="<%=Now()%>"> 在提交处理页面 设置提交时间 代码如下: If DateDiff("s" request form("intime ") Now()) < then response write "<SCRIPT language=JavaScript>alert( 您的留言速度太快 禁止留言! );" response write "this location vbscript:history back() ;</SCRIPT>" response end end if
二 验证码 代码如下: yz=cstr(request Form("yz")) yz =cstr(session("yz ")) if yz <>yz then Response Write("<script language=javascript>alert( 请正确输入验证码! );</script>") response redirect("sign asp") end if
三 判断来路 代码如下: server_v =Cstr(Request ServerVariables("HTTP_REFERER")) Response Write(server_v ) server_v =Cstr(Request ServerVariables("SERVER_NAME")) Response Write(server_v ) if mid(server_v len(server_v ))<>server_v then Response Write("<script language=javascript>alert( 禁止外部提交数据! );</script>") response end end if
四 设置每日提交次数 代码如下: 当用户每提交一次 if request cookies("postnum")="" then response cookies("postnum")= response cookies("postnum") expires=DateAdd("h" Now()) else response cookies("postnum")=request cookies("postnum")+ end if if request cookies("postnum") > then response write "<SCRIPT language=JavaScript>alert( 今天留言次数超过限制 禁止留言! );" response write "this location vbscript:history back() ;</SCRIPT>" response end end if
五 禁止IP 代码如下: server_ip=Cstr(Request ServerVariables("REMOTE_ADDR")) if right(server_ip ) = " " then response write "禁止重叠提交 " response End() end if
判断该发布信息是否有可靠的来路 只要是自然人发布的 那么他一定是通过我们提供给用户的提交页过来的 一定有一个来路 如果是机器发布的 就不会有来路信息 判断来路 禁止外部提交 代码如下: dim server_v server_v server_v =Cstr(Request ServerVariables("HTTP_REFERER")) server_v =Cstr(Request ServerVariables("SERVER_NAME")) if server_v ="" or instr(server_v "/add asp")<= or mid(server_v len(server_v ))<>server_v then response write "<SCRIPT language=JavaScript>alert( 来源非法 禁止外部提交! );" response write "this location vbscript:history back() ;</SCRIPT>" response end end if
注意 上面的/add asp就是提交页面来源页 当然 机器也可以伪造来路 这就要结合以下方式一起对付了 验证码 验证码一直是对付机器垃圾留言的一个可行的方法 不同的验证码有不同的对付机器留言的能力 越复杂的验证码 机器越难破解 这需要在考虑用户的感受和对付机器之间选择一个平衡点 关于验证码的使用方法 我就不多说了 谷歌 百度里搜索下就会出现很多介绍 判断来源提交的时间 如果在提交页停留的时间太短 比如 秒 一般只要是个人 他打字的时间都不必这个少 举例说明 在用户打开页面(如add asp)的时候 我们记下这个时间 在form提交表单里增加一个隐藏对象 如 <input name=intime type=hidden value="<%=Now()%>"> 然后 当用户写好留言评论后提交到具体处理页面(如addok asp)的时候 我们获取当前时间 和add asp里的这个intime 时间比较 如果这个时间差小于设定的时间 如 秒 则禁止留言 判断为机器 代码可这样写 代码如下: If DateDiff("s" request form("intime ") Now()) < then response write "<SCRIPT language=JavaScript>alert( 您的留言速度太快了吧 禁止留言! );" response write "this location vbscript:history back() ;</SCRIPT>" response end end if
通过以上三种方法可以屏蔽掉绝大部分的机器垃圾留言评论 如果还有大量的留言的话 那多半是人肉留言了 但是 我们又如何对付人肉留言呢?flymorn也提供方法对付 方法很简单 就是通过记录用户的cookies以及IP来限制同一用户发表留言的数量 比如一天 小时内 只允许同一用户发表信息 条 我们可以通过以下方法实现 代码如下: <% 当用户每提交一次 if request cookies("postnum")="" then response cookies("postnum")= response cookies("postnum") expires=DateAdd("h" Now()) else response cookies("postnum")=request cookies("postnum")+ end if if request cookies("postnum") > then response write "<SCRIPT language=JavaScript>alert( 今天留言次数超过限制 禁止留言! );" response write "this location vbscript:history back() ;</SCRIPT>" response end end if %>
cha138/Article/program/net/201311/14093相关参考
ASP.Net+XML打造留言薄 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一.概述 留言
ASP.NET项目开发指南:留言回复 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET项目开发指南:留言删除 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET项目开发指南:留言管理页面 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
实例编程:用ASP.Net和Access编写留言本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!用
asp实现留言簿自动发E-Mail 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASP本身没有
用Asp.net实现基于XML的留言簿 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一.概要
利用C#制作简单的留言板 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 留言板分三个模块列出留言
求一个“您好,我现在有事请留言。我会尽快回复您电话!”的留言声音我已经传到QQ中转站了请尽快下载下载地址已经发到你的百度HI在酷狗找。自己录不就好了?我想要一段声音“您好我现在不在有事请留言我会尽快回
知识大全 一个女生开小号用追她的人的语气给自己留言板刷留言。请大家分析下这女的。大神们帮帮忙
一个女生开小号用追她的人的语气给自己留言板刷留言。请大家分析下这女的。大神们帮帮忙多与他沟通记得采纳啊空间留言板留言可以一下清除吗大神们帮帮忙可以的,你可以把他删除,但是会扣除你空间相应的分数(花藤里