手机
当前位置:查字典教程网 >编程开发 >ASP教程 >垃圾引用防治补丁以及发送引用修正补丁的自动安装程序
垃圾引用防治补丁以及发送引用修正补丁的自动安装程序
摘要:实在没辙,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中设置session过期时间方法总结

ADO 存取数据库时如何分页显示

NextRecordset 和 GetRows 双簧合奏

asp中对ip进行过滤限制函数

javascript asp教程第九课--cookies

ASP常用的函数

无组件生成缩略图

asp下实现替换远程文件为本地文件并保存远程文件的代码

精品推荐
分类导航