本站随机日志及防广告的实现

终于在工作之余的时间里完成了防链接广告及随机日志的实现,昨天晚上调试防链接广告竟然搞到了快四点了。今天还要上班,现在竟然还有精神来写日志,真感觉自己还挺能的(挺能忍受的,哈哈)。
现在我关于L-blog修改的代码放上:
近日广告现象比以前更严重了,所以决定限制非会员评论含有0个链接,普通会员只能含有一个链接。
4月23日更新代码
禁止评论中含Maxhttp或MaxUrl个以上的链接,主要是判断Maxhttp个以上的“http://”及MaxUrl个以上“[url”,也许还有更简洁的代码吧。我这是这样的:


在blogcomm.asp中 IF Request.QueryString("action")="postcomm" Then 后插入或修改成以下代码。

blog_ID=Request.Form("blog_ID")
  IF IsInteger(blog_ID)=False Then
    msg_Title="出现错误"
    msg_Content="<a href=""javascript:history.go(-1);"">参数出现错误,点击返回上一页</a>"
  Elseif  Session("postBanIP")=2 and memStatus<>"SupAdmin" and memStatus<>"Admin" then
        msg_Title="出现错误"
        msg_Content="<a href=""javascript:history.go(-1);"">对不起,您的IP已经被本站禁止非管理员发表评论!点击返回上一页</a>"
  ElseIf (memStatus<>"SupAdmin" And memStatus<>"Admin") And DateDiff("s",Request.Cookies(CookieName)("memLastPost"),Now())<30 Then
    msg_Title="出现错误"
    msg_Content="<a href=""javascript:history.go(-1);"">你发表评论速度太快了,点击返回上一页</a>"
  ElseIf Trim(Session("L-Blog_ValidateCode"))<>Trim(Request.Form("validatecode")) Then
    msg_Title="出现错误"
    msg_Content="<a href=""javascript:history.go(-1);"">请输入发表评论按钮旁边的验证码框,点击返回上一页</a>"
  Elseif (Strcount(Request.Form("message"),"http://")>Maxhttp and (Request.Form("comm_AutoURL")=1) or (Strcount(Request.Form("message"),"[url")>MaxUrl  and Request.Form("comm_DisUBB=0")=0)) then    
   Set SRegExp=Nothing
   Set SRegExp2=Nothing
   msg_Title="出现错误"
   msg_Content="<a href=""javascript:history.go(-1);"">对不起,您输入的内容有太多链接。这是不允许的!点击返回上一页</a>"
        If isempty(Session("postBanIP")) then
           Session("postBanIP")=1
        Else
           Session("postBanIP")=2
        End If      
  Else  
  

随机日志也在今天花了两个小时的时间终于调试好了。不过对于其中的
生成随机取文章SQL
Randomize
rnd_view_j = Int(Rnd*15+1)
rnd_view_sql = “log_ID”
For rnd_view_i = 1 To rnd_view_j
rnd_view_sql = “Rnd(” & rnd_view_sql & “)”
Next

ORDER BY ” & rnd_view_sql & ” DESC”
不太明白,从没用过这个SQL的随机语句。
不过现在也大体上能理解,不太明确第一段随机代码作用是什么,感觉没必要。还要继续研究才知道。今天要去睡觉了。


Sub RandBlogList '随机Bolg列表
  Response.Write("<div class=""siderbar_head""><img src=""images/sider_rand.gif"" border=""0"" align=""absmiddle"" /> 随机日志</div><div class=""siderbar_main"">")
  Dim blog_randlist
  Dim rnd_view_i,rnd_view_j,rnd_view_sql
      '生成随机取文章SQL
      Randomize
      rnd_view_j = Int(Rnd*15+1)
      rnd_view_sql = "log_ID"
      For rnd_view_i = 1 To rnd_view_j
        rnd_view_sql = "Rnd(" & rnd_view_sql & ")"
      Next
  Set blog_randlist=Conn.Execute("SELECT TOP 8 T.log_ID,T.log_Title,T.log_Author,log_Content,log_IsShow FROM blog_Content T,blog_Category C WHERE T.log_cateID=C.cate_ID and log_IsShow=True ORDER BY " & rnd_view_sql & " DESC") '只显示非隐藏日志
  IF blog_randlist.EOF AND blog_randlist.BOF Then
    Response.Write("暂无随机日志")
  Else
    Do While NOT blog_randlist.EOF    
      Response.Write("<a href='blogview.asp?logID="&blog_randlist("log_ID")&"' title='"&HTMLEncode(blog_randlist("log_Author"))&": "&Replace(HTMLEncode(cutStr(blog_randlist("log_Content"),200)),"<br>"," ")&"'>"&HTMLEncode(cutStr(blog_randlist("log_Title"),18))&"</a><br>")
    blog_randlist.MoveNext
    Loop
  End IF
  blog_randlist.close
  Set blog_randlist=Nothing
Response.Write("</div>")
End Sub

发表评论