垃圾引用防治补丁以及发送引用修正补丁的自动安装程序
垃圾引用防治补丁以及发送引用修正补丁的自动安装程序
发布时间:2017-01-14 来源:查字典编辑
摘要:实在没辙,PJBlog的垃圾引用防治补丁以及新日志发送失败的修正补丁发布后,天天都有因为修改错误而找上门询问的。为了简化大家的升级步骤,减少...

实在没辙,PJBlog的垃圾引用防治补丁以及新日志发送失败的修正补丁发布后,天天都有因为修改错误而找上门询问的。为了简化大家的升级步骤,减少升级造成的错误。本人参考了部分前辈的程序后,做出了前面两个补丁的自动安装程序,代码替换,数据库升级都一步到位。恩恩。废话少讲,给下载,大家记得升级前要备份哈,尤其是数据库一定要备份一次。

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

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

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

附:手动安装的教程地址

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

http://bbs.pjhome.net/viewthread.php?tid=9617&extra=page%3D6

复制代码 代码如下:

<>

<>

<>

<>

<>

<>

<>

<>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml"lang="UTF-8">

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/>

<metahttp-equiv="Content-Language"content="UTF-8"/>

<title>安装PJBLOG垃圾引用防止插件以及写新日志发送引用失败的修正补丁</title>

</head>

<body>

<divid="main"style="text-align:center">

请升级前,备份好你的数据库。然后点击下面的按钮开始更新。

<divid="button"style="text-align:center">

<formid="form1"name="form1"method="post"action="?act=go">

<label>

<inputtype="submit"name="Submit"value="点击开始更新!"/>

</label>

</form>

</div>

<%

'onerrorresumenext

iferrthenerr.clear

session.codepage=65001

PrivatefunctionLoadFile(ByValFile)

DimcacheStream

SetcacheStream=Server.CreateObject("ADODB.Stream")

WithcacheStream

.Type=2

.Mode=3

.Open

.Charset="utf-8"

.Position=cacheStream.Size

.LoadFromFileServer.MapPath(File)

LoadFile=.ReadText

.Close

EndWith

Endfunction

PrivateFunctionSaveFile(ByValstrBody,ByValFile)

DimobjStream

DimRText

RText=""

SetobjStream=Server.CreateObject("ADODB.Stream")

IfErrThen

RText=array(Err.Number,Err.Description)

Err.Clear

exitfunction

EndIf

WithobjStream

.Type=2

.Open

.Charset="utf-8"

.Position=objStream.Size

.WriteText=strBody

.SaveToFileServer.MapPath(File),2

.Close

EndWith

RText="ok"

SaveFile=RText

SetobjStream=Nothing

EndFunction

PrivateFunctionreplaceStr(FileName,IntStr,FinStr)

DimloadStr

loadStr=LoadFile(FileName)

ifinstr(loadStr,IntStr)<>0then

SaveFileloadStr,FileName&"_temp"'backup!

loadStr=replace(loadStr,IntStr,FinStr)

SaveFileloadStr,FileName

replaceStr=true

Else

replaceStr=false

Endif

loadStr=""

EndFunction

PrivateFunctionDeleteFile(FilePath)

DimFSO

SetFSO=Server.CreateObject("Scripting.FileSystemObject")

IFFSO.FileExists(server.mapPath(FilePath))Then

FSO.DeleteFileserver.mapPath(FilePath),True

DeleteFile=True

Else

DeleteFile=false

EndIF

SetFSO=Nothing

EndFunction

Ifrequest("act")="go"then

'=====Start============

DimTempStr,result,aspOpen,aspClz,Er

Er=""

result=""

aspOpen=chr(60)&chr(37)

aspClz=chr(37)&chr(62)

ifEr=""then

result=replaceStr("trackback.asp","IfConn.Execute(""SELECTcount(tb_ID)FROMblog_TrackbackWHEREblog_ID=""&tbID&""ANDtb_URL='""&tbURL&""'ANDtb_Title='""&tbTitle&""'ANDtb_Intro='""&tbExcerpt&""'ANDtb_Site='""&tbBlog&""'"")(0)>0Then","ifStrComp(Request.QueryString(""key""),blog_tbKey)=0Then"&vbcrlf&_

""&vbcrlf&_

"IfConn.Execute(""SELECTcount(tb_ID)FROMblog_TrackbackWHEREblog_ID=""&tbID&""ANDtb_URL='""&tbURL&""'ANDtb_Title='""&tbTitle&""'ANDtb_Intro='""&tbExcerpt&""'ANDtb_Site='""&tbBlog&""'"")(0)>0Then")

ifnotresultthenEr=Er&"trackback.asp文件修改第一步出错!<br>"

Endif

ifEr=""then

result=replaceStr("trackback.asp","tbResponseXML1,""此引用通告中包含被屏蔽的字符""","tbResponseXML1,""此引用通告中包含被屏蔽的字符"""&vbcrlf&_

"endif"&vbcrlf&_

""&vbcrlf&_

"else"&vbcrlf&_

"tbResponseXML1,""嘿!你小子搞错地址了吧!""")

ifnotresultthenEr=Er&"trackback.asp文件修改第二步出错!<br>"

Endif

ifEr=""then

result=replaceStr("trackback.asp","Conn.Execute(""UPDATEblog_InfoSetblog_tbNums=blog_tbNums+1"")","Conn.Execute(""UPDATEblog_InfoSetblog_tbNums=blog_tbNums+1"")"&vbcrlf&_

"dimtbKey"&vbcrlf&_

"RANDOMIZE"&vbcrlf&_

"tbKey=int(900000*rnd)+100000"&vbcrlf&_

"Conn.Execute(""UPDATEblog_InfoSetblog_tbKey=""&tbKey)")

ifnotresultthenEr=Er&"trackback.asp文件修改第三步出错!<br>"

Endif

ifEr=""then

result=replaceStr("class/cls_logAction.asp","SiteURL&""trackback.asp?tbID=""&LogID","SiteURL&""trackback.asp?tbID=""&LogID&""&key=""&blog_tbKey")

ifnotresultthenEr=Er&"cls_logAction.asp文件第一步修改出错!<br>"

Endif

ifEr=""then

result=replaceStr("class/cls_logAction.asp","Dimlog_QuoteEvery,log_QuoteArr","Dimlog_QuoteEvery,log_QuoteArr,logid,LastID"&vbcrlf&_

"setLastID=Conn.Execute(""SELECTTOP1log_IDFROMblog_ContentORDERBYlog_IDDESC"")"&vbcrlf&_

"logid=LastID(""log_ID"")")

ifnotresultthenEr=Er&"cls_logAction.asp文件第二步修改出错!<br>"

Endif

ifEr=""then

result=replaceStr("class/cls_logAction.asp","TrackbackTrim(log_QuoteEvery),siteURL&""default.asp?id=""&logid,logTitle,CutStr(CheckStr(logIntro),252),siteName","TrackbackTrim(log_QuoteEvery),siteURL&""default.asp?id=""&logid,logTitle,CutStr(CheckStr(logIntro),252),siteName"&vbcrlf&_

"setLastID=Nothing")

ifnotresultthenEr=Er&"cls_logAction.asp文件第三步修改出错!<br>"

Endif

ifEr=""then

result=replaceStr("Template/Article.asp","<ahref=""<$trackback$>""target=""_blank""><$trackback$></a><br/>","<spanid=tburl><ahref=""javascript:showTrackBack()"">查看引用地址</a></span><br/>"&vbcrlf&_

"<scripttype=""text/javascript"">"&vbcrlf&_

"//引用地址显示"&vbcrlf&_

"functionshowTrackBack(){"&vbcrlf&_

"vartb_url_text"&vbcrlf&_

"tb_url_text='<ahref=""<$trackback$>""target=""_blank""><$trackback$></a>'"&vbcrlf&_

"document.getElementById(""tburl"").innerHTML=tb_url_text"&vbcrlf&_

"}"&vbcrlf&_

"</script>")

ifnotresultthenEr=Er&"Article.asp文件修改出错!<br>"

Endif

ifEr=""then

result=replaceStr("class/cls_article.asp","%=(SiteURL&""trackback.asp?tbID=""&id)%","(SiteURL&""trackback.asp?tbID=""&id)")

ifnotresultthenEr=Er&"cls_logAction.asp文件第一步修改出错!<br>"

Endif

ifEr=""then

result=replaceStr("class/cls_article.asp","<ahref=""<(SiteURL&""trackback.asp?tbID=""&id)>""target=""_blank""><(SiteURL&""trackback.asp?tbID=""&id)></a><br/>","<spanid=tburl><ahref=""javascript:showTrackBack()"">查看引用地址</a></span><br/>"&vbcrlf&_

"<scripttype=""text/javascript"">"&vbcrlf&_

"//引用地址显示"&vbcrlf&_

"functionshowTrackBack(){"&vbcrlf&_

"vartb_url_text"&vbcrlf&_

"tb_url_text='<ahref=""<(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>")

ifnotresultthenEr=Er&"cls_article.asp文件第二步修改出错!<br>"

Endif

ifEr=""then

result=replaceStr("class/cls_article.asp","(SiteURL&""trackback.asp?tbID=""&id&""&key=""&blog_tbKey)","%=(SiteURL&""trackback.asp?tbID=""&id&""&key=""&blog_tbKey)%")

ifnotresultthenEr=Er&"cls_logAction.asp文件第三步修改出错!<br>"

Endif

ifEr=""then

Conn.Execute("ALTERTABLEblog_InfoADDblog_tbKeyINT")

Conn.Execute("UPDATEblog_InfoSetblog_tbKey=123456")

else

Er=Er&"数据库升级失败。"

Endif

ifEr=""then

result=replaceStr("common/cache.asp","Dimblog_wapNum,blog_wapImg,blog_wapHTML,blog_wapLogin,blog_wapComment,blog_wap,blog_wapURL","Dimblog_wapNum,blog_wapImg,blog_wapHTML,blog_wapLogin,blog_wapComment,blog_wap,blog_wapURL,blog_tbKey")

ifnotresultthenEr=Er&"cache.asp文件第一步修改出错!<br>"

Endif

ifEr=""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""&_")

ifnotresultthenEr=Er&"cache.asp文件第二步修改出错!<br>"

Endif

ifEr=""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")

ifnotresultthenEr=Er&"cache.asp文件第三步修改出错!<br>"

Endif

IfEr<>""then

response.writeEr&"<br>如果未能解决请到<ahref='http://www.alonefly.com/blog'target='_blank'>http://www.alonefly.com/blog</a>留言。"

Else

ifnotDeleteFile("tbspam_update.asp")then

response.write"请手动删除tbspam_update.asp文件!<br>"

Else

response.write"tbspam_update.asp文件已经自动删除!<br>"

Endif

Response.write"更新完成!<br>所有更新文件已经备份!名为:原文件名_temp!"

Endif

Endif

iferr<>0then

response.Writeerr&Err.Description&Err.Source

Endif

%>

</div>

</body>

</html>

下载此文件

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新ASP教程学习
热门ASP教程学习
编程开发子分类