2007年9月21日

可恶的垃圾引用

每天都有那么多的垃圾引用,都是广告,后台删除吧,还得一条条的,刚刚在后台找到了一篇“z-blog中垃圾引用批量删除功能的增加 ”,总算是好多了,现转载如下:

  分析过程如下:

        1、z-blog后台“引用管理”的链接为cmd.asp?act=TrackBackMng,于是打开cmd.asp,发现又转到了admin.asp,相关代码如下:
         Case "TrackBackMng"
                    Call TrackBackMng()
...........
        Function TrackBackMng               
                  Response.Redirect "admin.asp?act=TrackBackMng&page=" & Request.QueryString("id") & "&searchtext=" & Server.URLEnCode(Request.QueryString("searchtext"))
        End Function
          2、打开admin.asp,发现是调用了函数ExportTrackBackList(),相关代码如下:
        Case "TrackBackMng" Call ExportTrackBackList(Request.QueryString("page"))
          用macromedia的文件夹搜索或者一一打开admin.asp的包含文件,发现这一函数在c_system_manage.asp中
          3、打开c_system_manage.asp,找到function exporttrackbacklist
          经过扩充改为以下代码(其中蓝色粗体的为增加部分,黑色的为原来代码)
           <script language="JavaScript">
                    function dyj() {
                                for (var i=0;i<document.tcdel.tcid.length;i++) {
                                       var e=document.tcdel.tcid[i];
                                       e.checked=!e.checked;
                                        }
                                      } 
          </script>
          以上这一段放在文件最顶端
          以下是Function ExportTrackBackList(intPage)中的修改
           response.write "<table width=""100%"" cellspacing=""0"" cellpadding=""0"" border=""0""><tr><td valign=top>"
           Response.Write "<table border=""1"" width=""100%"" cellspacing=""0"" cellpadding=""0"">"
            Response.Write "<tr><td></td><td>"& ZC_MSG048 & ZC_MSG076 &"</td><td>"& ZC_MSG014 &"</td><td>"& ZC_MSG060 &"</td><td>"& ZC_MSG055
&"</td><td>"& ZC_MSG063 &"</td></tr>"

           objRS.Open("Select * FROM [blog_TrackBack] "& strSQL &" orDER BY [tb_ID] DESC")
           objRS.PageSize=ZC_MANAGE_COUNT
           If objRS.PageCount>0 Then objRS.AbsolutePage = intPage
           If (Not objRS.bof) And (Not objRS.eof) Then
                 For i=1 to objRS.PageSize
                       Response.Write "<tr>"
                       Response.Write "<td><input type='checkbox' disabled='true'></td>"
                      Response.Write "<td>" & objRS("log_ID") & "</td>"
                      Response.Write "<td><a title="""& objRS("tb_Title") &""" target=""_blank"" href="""&objRS("tb_Url")&""">" _fcksavedurl=""""&objRS("tb_Url")&""">"" & Left(objRS("tb_Blog"),14)
& "</a></td>"
                      Response.Write "<td><a href="""& ZC_BLOG_HOST & "view.asp?id=" & objRS("log_ID") & "#tb" & objRS("tb_ID") & """ target=""_blank"">" &
Left(objRS("tb_Title"),12) & "</a></td>"
                      Response.Write "<td>" & Left(objRS("tb_Excerpt"),18) & "</td>"
                      Response.Write "<td align=""center""><a href=""cmd.asp?act=TrackBackDel&id=" & objRS("tb_ID") & "&log_id="& objRS("log_ID") &"""
onclick='return window.confirm(""" & ZC_MSG058 & """);'>["& ZC_MSG063 &"]</a></td>"
                    Response.Write "</tr>"
                    objRS.MoveNext
                    If objRS.eof Then Exit For
               Next
           End If
 
 Response.Write "</table>"
 
 response.write "</td><td valign=top>"
 Response.Write "<form method=""post"" action="""" name=""tcdel"">"
 response.write "<table border=""1"" width=""100%"" cellspacing=""0"" cellpadding=""0"">"
 Response.Write "<tr><td><a href='javascript:dyj()'>选择</a></td></tr>"
 If (Not objRS.bof)  Then
         objrs.movefirst
         For i=1 to objRS.PageSize
                Response.Write "<tr>"
                Response.Write "<td><input type='checkbox' name='tcid' value="&objRS("tb_id")&"></td>"
               Response.Write "</tr>"
               objRS.MoveNext
               If objRS.eof Then Exit For
         Next
 end if
 response.write "</table></td></tr></table>"
 Response.Write "<p><input class=""button"" type=""submit"" value=""删除所选引用"" id=""tbdel"" name=""tbdel""/></p>"
 Response.Write "</form>"
 if request.form("tbdel")="删除所选引用" then
       if request.form("tcid")="" then
           response.write "<script>alert('未选择要删除的!');history.back(1)</script>"
           response.end
      else
           objconn.execute("delete from blog_TrackBack where tb_id in("&request("tcid")&")")
           objconn.close
           set objconn=nothing
           response.redirect "cmd.asp?act=TrackBackMng"
      end if
end if
       其中Response.Write "<td><input type='checkbox' disabled='true'></td>"只是为了两个表格的完全对齐,无意义
        为什么不采用一个表单的方法呢,因为原来的表单method为get,不能获取表单信息,如果将get更改为post后会影响原来的“搜索关键字”功能,要改动的地方就多了。所以采取变通的方法,再设置一个表单tcdel,method为post,原来的表单放在增加的表格的一个单元格中,新增加的表单放在增加的表格的另外一个单元格中,为了两个单元格中的内容完全对齐多加了句Response.Write "<td><input type='checkbox' disabled='true'></td>",

2 回复,0 引用: 可恶的垃圾引用

  • 2 fdsf

    米啦啦鲜花礼品网专注于鲜花市场速递服务,网上支付、连锁鲜花礼品销售,提供高质量鲜花服务。主要经营爱情鲜花,生日鲜花,探亲访友,婚礼庆典,友情鲜花,节日鲜花。

  • 1 flowerhao

    顶一个!!!

添加回复

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。