Pjblog 2.6有效防止垃圾评论及留言修改方法

作者:戒聊
首发网站:www.muzili.com,本站原创
转帖请注明来源。

思路:
1,防止不同文章相同内容的重复评论。
2,防止同一IP某一时间段内发表的任何评论。
3,防止采用软件清除COOKIES绕过PJ的判断,所以采用从数据库判断的方式。

修改方法:
1,评论:
打开blogcomm.asp,找到

AddComm=array(array("blog_ID",post_logID),array("comm_Content",post_Message),array("comm_Author",username),array("comm_DisSM",post_DisSM),array("comm_DisUBB",post_DisUBB),array("comm_DisIMG",post_disImg),array("comm_AutoURL",post_DisURL),Array("comm_PostIP",getIP),Array("comm_AutoKEY",post_DisKEY))

在其上一行插入:其中的60你可以自行设置,为发表评论间隔时间。

  if post_Message=session("comm_Content") then
     ReInfo(0)="评论发表错误信息"
     ReInfo(1)="请不要在本博客重复发布信息,谢谢合作<br/><a href=""javascript:history.go(-1);"">单击返回</a>"
     ReInfo(2)="ErrorIcon"
     postcomm=ReInfo
     exit function
  end if  
  
    Dim SQLcomm,log_commcomm
    SQLcomm="Select TOP 1 * FROM blog_Comment Where comm_PostIP='" & getIP & "' order By comm_ID Desc "
    Set log_commcomm=conn.execute(SQLcomm)
    If not log_commcomm.eof then
          if datediff("s",log_commcomm("comm_PostTime"),now())<60 then
             ReInfo(0)="评论发表错误信息"
             ReInfo(1)="本博客设置发表评论间隔为60秒,谢谢合作<br/><a href=""javascript:history.go(-1);"">单击返回</a>"
             ReInfo(2)="ErrorIcon"
             postcomm=ReInfo
             exit function
          end if  
    End If
    log_commcomm.Close
    Set log_commcomm=Nothing
    
session("comm_Content")=post_Message



2,留言:
打开Plugins\GuestBook\bookaction.asp,找到

Conn.ExeCute("Insert INTO blog_book(book_Messager,book_face,book_IP,book_Content,book_HiddenReply) VALUES ('"&username&"','"&face&"','"&getIP()&"','"&post_Message&"',"&hiddenreply&")")

在其上一行插入:其中的60你可以自行设置,为发表评论间隔时间。

   if post_Message=session("post_Message") then
     showmsg "留言发表错误信息","请不要在本博客重复发布信息,谢谢合作<br/><a href=""javascript:history.go(-1);"">单击返回</a>","ErrorIcon","plugins"
     exit function
  end if  
  
    Dim SQLcomm,log_commcomm
    SQLcomm="Select TOP 1 * FROM blog_book Where book_IP='" & getIP & "' order By book_ID Desc "
    Set log_commcomm=conn.execute(SQLcomm)
    If not log_commcomm.eof then
          if datediff("s",log_commcomm("book_PostTime"),now())<60 then
             showmsg "留言发表错误信息","本博客设置发表留言间隔为60秒,谢谢合作<br/><a href=""javascript:history.go(-1);"">单击返回</a>","ErrorIcon","plugins"
             exit function
          end if  
    End If
    log_commcomm.Close
    Set log_commcomm=Nothing
    
session("post_Message")=post_Message


大功告成。此方法可有效防止某些人采用某些手段批量留言或评论发布广告信息。

[本日志由 小戒 于 2009-02-10 09:07 PM 编辑]
上一篇: 实例详细讲解ASP生成静态页面方法
下一篇: 网站开发之按钮onclick大全
文章来自:
引用通告: 查看所有引用 | 我要引用此文章
Tags: PJBLOG 插件 原创
相关日志:
评论: 4 | 引用: 0 | 查看次数: -
jixu
回复回复jixu[2007-08-23 10:57 PM | | | del]
顶个戒聊好方法!
karlyong
回复回复karlyong[2007-08-23 10:54 PM | | | del]
。。。。。。没什么好的,连个MM也没有,全是广告。小人~赚我们的ip
ceshi2344
回复回复ceshi2344[2007-08-23 10:50 PM | | | del]
顶个戒聊好方法!
白云山
回复回复白云山[2007-08-23 10:45 PM | | | del]
游客发言不需要密码
该文章转载自鸡立鹤群博客
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 支持Gravatar头像.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.