• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    垃圾引用防治补丁以及发送引用修正补丁的自动安装程序
    实在没辙,PJBlog 的垃圾引用防治补丁以及新日志发送失败的修正补丁发布后,天天都有因为修改错误而找上门询问的。为了简化大家的升级步骤,减少升级造成的错误。本人参考了部分前辈的程序后,做出了前面两个补丁的自动安装程序,代码替换,数据库升级都一步到位。恩恩。废话少讲,给下载,大家记得升级前要备份哈,尤其是数据库一定要备份一次。

      虽然本程序在本人的本地环境里的全新 PJBlog 上测试成功,但不能排除装过其他插件的博客不会出现问题。如果您升级出现了差错请到:http://www.myyu.net/2006/12/11/pjblog-anti-spam.html 说明一下。主要是说下安装程序是否有提示安装出错,或者安装完后的出错情况。

      由于 PJBlog 的静态日志不具备数据更新的能力,所以请不要使用静态日志模式。除非你能勤快的到后台重新生成日志文件,否则在静态日志模式下,会因为日志被引用,KEY 值更新可静态日志没更新为新KEY 值而造成别人无法引用的你旧日志。

      买一送一,教大家测试下哈。写个新日志,引用框里填上自己博客内的其他日志的引用链接。如果发送成功说明新日志发送引用的补丁安装成功、如果接受引用成功,同时引用地址的KEY自动更换了数字(目前只有动态日志模式可以自动,静态日志模式由于机制问题必须到后台重新生成所有日志文件才能更新),说明垃圾引用防治补丁安装成功。

    附:手动安装的教程地址 

    http://bbs.pjhome.net/viewthread.php?tid=9491extra=page%3D1

    http://bbs.pjhome.net/viewthread.php?tid=9617extra=page%3D6
    复制代码 代码如下:

    !--#include file="const.asp" -->
    !--#include file="conn.asp" -->
    !--#include file="common/function.asp" -->
    !--#include file="common/library.asp" -->
    !--#include file="common/cache.asp" -->
    !--#include file="common/checkUser.asp" -->
    !--#include file="class/cls_logAction.asp" -->
    !--#include file="common/ubbcode.asp" -->
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    html xmlns="http://www.w3.org/1999/xhtml" lang="UTF-8">
    head>
        meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        meta http-equiv="Content-Language" content="UTF-8" />
        title>安装 PJBLOG 垃圾引用防止插件以及写新日志发送引用失败的修正补丁/title>
    /head>
    body>
    div id="main" style="text-align:center">
    请升级前,备份好你的数据库。然后点击下面的按钮开始更新。
    div id="button" style="text-align:center">
    form id="form1" name="form1" method="post" action="?act=go">
      label>
      input type="submit" name="Submit" value="点击开始更新!" />
      /label>
    /form>
    /div>
    %
    'on error resume next
    if err then err.clear
    session.codepage=65001
    Private function LoadFile(ByVal File)
      Dim cacheStream
      Set cacheStream = Server.CreateObject("ADODB.Stream")
          With cacheStream
            .Type = 2
            .Mode = 3
            .Open
            .Charset = "utf-8"
            .Position =cacheStream.Size
            .LoadFromFile Server.MapPath(File)
            LoadFile=.ReadText
            .Close
        End With  
    End function

    Private Function SaveFile(ByVal strBody,ByVal File)
        Dim objStream
        Dim RText
        RText=""
        Set objStream = Server.CreateObject("ADODB.Stream")
        If Err Then 
            RText=array(Err.Number,Err.Description)
            Err.Clear
            exit function
        End If
        With objStream
            .Type = 2
            .Open
            .Charset = "utf-8"
            .Position = objStream.Size
            .WriteText = strBody
            .SaveToFile Server.MapPath(File),2
            .Close
        End With
        RText="ok"
        SaveFile=RText
        Set objStream = Nothing
    End Function

    Private Function replaceStr(FileName,IntStr,FinStr)
    Dim loadStr
    loadStr=LoadFile(FileName)
    if instr(loadStr,IntStr)>0 then
       SaveFile loadStr,FileName"_temp" 'backup!
       loadStr=replace(loadStr,IntStr,FinStr)
       SaveFile loadStr,FileName
       replaceStr=true
    Else
       replaceStr=false
    End if
    loadStr=""
    End Function 

    Private Function DeleteFile(FilePath)
      Dim FSO
      Set FSO=Server.CreateObject("Scripting.FileSystemObject")
      IF FSO.FileExists(server.mapPath(FilePath)) Then
        FSO.DeleteFile server.mapPath(FilePath),True
        DeleteFile = True
      Else
        DeleteFile = false
      End IF
      Set FSO = Nothing
    End Function


    If request("act")="go" then
        '=====Start============

        Dim TempStr,result,aspOpen,aspClz,Er
        Er=""
        result=""
        aspOpen=chr(60)chr(37)
        aspClz=chr(37)chr(62)

        if Er="" then
           result=replaceStr("trackback.asp","    If Conn.Execute(""SELECT count(tb_ID) FROM blog_Trackback WHERE blog_ID=""tbID"" AND tb_URL='""tbURL""' AND tb_Title='""tbTitle""' AND tb_Intro='""tbExcerpt""' AND tb_Site='""tbBlog""'"")(0)>0 Then","if StrComp(Request.QueryString(""key""),blog_tbKey)=0 Then"vbcrlf_
    ""vbcrlf_    
    "    If Conn.Execute(""SELECT count(tb_ID) FROM blog_Trackback WHERE blog_ID=""tbID"" AND tb_URL='""tbURL""' AND tb_Title='""tbTitle""' AND tb_Intro='""tbExcerpt""' AND tb_Site='""tbBlog""'"")(0)>0 Then")
           if not result then Er=Er"trackback.asp 文件修改第一步出错!br>"
        End if

        if Er="" then
           result=replaceStr("trackback.asp","            tbResponseXML 1,""此引用通告中包含被屏蔽的字符""","            tbResponseXML 1,""此引用通告中包含被屏蔽的字符"""vbcrlf_
    "   end if"vbcrlf_
    ""vbcrlf_
    "else"vbcrlf_
    "            tbResponseXML 1,""嘿!你小子搞错地址了吧!""")
           if not result then Er=Er"trackback.asp 文件修改第二步出错!br>"
        End if

        if Er="" then
           result=replaceStr("trackback.asp","            Conn.Execute(""UPDATE blog_Info Set blog_tbNums=blog_tbNums+1"")","            Conn.Execute(""UPDATE blog_Info Set blog_tbNums=blog_tbNums+1"")"vbcrlf_
    "            dim tbKey"vbcrlf_
    "            RANDOMIZE"vbcrlf_
    "            tbKey=int(900000*rnd)+100000"vbcrlf_
    "            Conn.Execute(""UPDATE blog_Info Set blog_tbKey=""tbKey)")
           if not result then Er=Er"trackback.asp 文件修改第三步出错!br>"
        End if

        if Er="" then
           result=replaceStr("class/cls_logAction.asp","SiteURL""trackback.asp?tbID=""LogID","SiteURL""trackback.asp?tbID=""LogID""key=""blog_tbKey")
           if not result then Er=Er"cls_logAction.asp 文件第一步修改出错!br>"
        End if

        if Er="" then
           result=replaceStr("class/cls_logAction.asp","Dim log_QuoteEvery,log_QuoteArr","Dim log_QuoteEvery,log_QuoteArr,logid,LastID"vbcrlf_
    "                 set LastID=Conn.Execute(""SELECT TOP 1 log_ID FROM blog_Content ORDER BY log_ID DESC"")"vbcrlf_
    "                 logid=LastID(""log_ID"")")
           if not result then Er=Er"cls_logAction.asp 文件第二步修改出错!br>"
        End if

        if Er="" then
           result=replaceStr("class/cls_logAction.asp","Trackback Trim(log_QuoteEvery), siteURL""default.asp?id=""logid, logTitle, CutStr(CheckStr(logIntro),252), siteName","Trackback Trim(log_QuoteEvery), siteURL""default.asp?id=""logid, logTitle, CutStr(CheckStr(logIntro),252), siteName"vbcrlf_
    "                 set LastID=Nothing")
           if not result then Er=Er"cls_logAction.asp 文件第三步修改出错!br>"
        End if

        if Er="" then
           result=replaceStr("Template/Article.asp","a href=""$trackback$>"" target=""_blank"">$trackback$>/a>br/>","span id=tburl>a href=""javascript:showTrackBack()"">查看引用地址/a>/span>br/>"vbcrlf_
    "script type=""text/javascript"">"vbcrlf_
    "// 引用地址显示"vbcrlf_
    "function showTrackBack(){"vbcrlf_
    "        var tb_url_text "vbcrlf_
    "        tb_url_text = 'a href=""$trackback$>"" target=""_blank"">$trackback$>/a>'"vbcrlf_
    "        document.getElementById(""tburl"").innerHTML = tb_url_text"vbcrlf_
    "}"vbcrlf_
    "/script>")
           if not result then Er=Er"Article.asp 文件修改出错!br>"
        End if

        if Er="" then
           result=replaceStr("class/cls_article.asp","%=(SiteURL""trackback.asp?tbID=""id)%","(SiteURL""trackback.asp?tbID=""id)")
           if not result then Er=Er"cls_logAction.asp 文件第一步修改出错!br>"
        End if    

        if Er="" then
           result=replaceStr("class/cls_article.asp","a href=""(SiteURL""trackback.asp?tbID=""id)>"" target=""_blank"">(SiteURL""trackback.asp?tbID=""id)>/a>br/>","span id=tburl>a href=""javascript:showTrackBack()"">查看引用地址/a>/span>br/>"vbcrlf_
    "script type=""text/javascript"">"vbcrlf_
    "// 引用地址显示"vbcrlf_
    "function showTrackBack(){"vbcrlf_
    "        var tb_url_text "vbcrlf_
    "        tb_url_text = 'a href=""(SiteURL""trackback.asp?tbID=""id""key=""blog_tbKey)>"" target=""_blank"">(SiteURL""trackback.asp?tbID=""id""key=""blog_tbKey)>/a>br/>'"vbcrlf_
    "        document.getElementById(""tburl"").innerHTML = tb_url_text"vbcrlf_
    "}"vbcrlf_
    "/script>")
           if not result then Er=Er"cls_article.asp 文件第二步修改出错!br>"
        End if

        if Er="" then
           result=replaceStr("class/cls_article.asp","(SiteURL""trackback.asp?tbID=""id""key=""blog_tbKey)","%=(SiteURL""trackback.asp?tbID=""id""key=""blog_tbKey)%")
           if not result then Er=Er"cls_logAction.asp 文件第三步修改出错!br>"
        End if

        if Er="" then
        Conn.Execute("ALTER TABLE blog_Info ADD blog_tbKey INT")
        Conn.Execute("UPDATE blog_Info Set blog_tbKey=123456")
        else
        Er=Er"数据库升级失败。"
        End if

        if Er="" then
           result=replaceStr("common/cache.asp","Dim blog_wapNum,blog_wapImg,blog_wapHTML,blog_wapLogin,blog_wapComment,blog_wap,blog_wapURL","Dim blog_wapNum,blog_wapImg,blog_wapHTML,blog_wapLogin,blog_wapComment,blog_wap,blog_wapURL,blog_tbKey")
           if not result then Er=Er"cache.asp 文件第一步修改出错!br>"
        End if

        if Er="" then
           result=replaceStr("common/cache.asp","""blog_wapNum,blog_wapImg,blog_wapHTML,blog_wapLogin,blog_wapComment,blog_wap,blog_wapURL""  _","""blog_wapNum,blog_wapImg,blog_wapHTML,blog_wapLogin,blog_wapComment,blog_wap,blog_wapURL,blog_tbKey""  _")
           if not result then Er=Er"cache.asp 文件第二步修改出错!br>"
        End if

        if Er="" then
           result=replaceStr("common/cache.asp","blog_wapURL=CBool(blog_Infos(44,0))'使用 wap 转换文章超链接","blog_wapURL=CBool(blog_Infos(44,0))'使用 wap 转换文章超链接"vbcrlf_
    "       blog_tbKey=int(blog_Infos(45,0))'引用验证Key")
           if not result then Er=Er"cache.asp 文件第三步修改出错!br>"
        End if

        If Er>"" then
           response.write Er"br>如果未能解决请到a href='http://www.alonefly.com/blog' target='_blank'>http://www.alonefly.com/blog/a>留言。"
        Else
           if not  DeleteFile("tbspam_update.asp") then
              response.write "请手动删除 tbspam_update.asp 文件!br>"
            Else
              response.write "tbspam_update.asp 文件已经自动删除!br>"
           End if
           Response.write "更新完成!br>所有更新文件已经备份!名为: 原文件名_temp !"
        End if
    End if

    if err>0 then
       response.Write err  Err.Description  Err.Source
    End if
    %>
    /div>
    /body>
    /html>


    下载此文件
    上一篇:ASP实现长文章分页
    下一篇:插件下载┊垃圾引用防御补丁(每小时自动换KEY,支持静态页面)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    垃圾引用防治补丁以及发送引用修正补丁的自动安装程序 垃圾,引用,防治,补丁,以及,