手机
当前位置:查字典教程网 >编程开发 >ASP教程 >插件下载┊垃圾引用防御补丁(每小时自动换KEY,支持静态页面)
插件下载┊垃圾引用防御补丁(每小时自动换KEY,支持静态页面)
摘要:发布人:向导补丁名:垃圾引用防御补丁发布时间:2007-1-4版本号:第3版适用版本:PJblog2.6原作者:向导演示地址:http://...

发布人:向导

补丁名:垃圾引用防御补丁

发布时间:2007-1-4

版本号:第3版

适用版本:PJblog2.6

原作者:向导

演示地址:http://www.hljsh.com/

下载地址:http://bbs.pjhome.net/attachment.php?aid=2143

插件简介:能有效防止垃圾引用。加密递交地址,第2版增加KEY验证,并每小时自动更换一次key。

本版本不修改数据库,只修改了4个文件,并支持静态页模式!

效果

引用通告地址:trackback.asp?tbID=JNKRQOF8&key=JOKNPNKOQPMPPMC0

具体安装方法如下:

===========================================================

文件trackback.asp

查找

tbID=CheckStr(Request.QueryString("tbID"))

替换成

tbID=Decrypt(CheckStr(Request.QueryString("tbID")))

查找

IfNot(IsInteger(Request.QueryString("tbID"))ANDIsInteger(Request.QueryString("logID")))Then

替换成

IfNotIsInteger(Decrypt(Request.QueryString("tbID")))ANDIsInteger(Request.QueryString("logID"))Then

查找

Whereblog_ID="&logID&"ANDtb_ID="&CheckStr(Request.QueryString("tbID"))

替换成

Whereblog_ID="&logID&"ANDtb_ID="&Decrypt(CheckStr(Request.QueryString("tbID")))

**有2处

查找

'==================================

'引用通告处理页面

'更新时间:2006-6-1

'==================================

在下面加入

dimkeys,keys1

keys=Request.QueryString("key")

keys1=Encrypt((year(now))&(Month(now))&(day(now))&hour(now()))

ifkeys<>keys1then

Response.c

Response.write"<?xmlversion=""1.0""encoding=""UTF-8""?><?xml-stylesheettype=""text/xsl""href=""tb.xsl""?>"

%>

<response><error>1</error><message>您递交的信息已过期.请检查...</message></response>

<%

else

dimstrget

strget=trim(Request.QueryString("tbID"))

iflen(strget)>8then

Response.c

Response.write"<?xmlversion=""1.0""encoding=""UTF-8""?><?xml-stylesheettype=""text/xsl""href=""tb.xsl""?>"

%>

<response><error>1</error><message>您递交的信息有错误.请检查...</message></response>

<%

else

dimtbIDs

tbIDs=Decrypt(CheckStr(Request.QueryString("tbID")))

iftbIDs<1then

Response.c

Response.write"<?xmlversion=""1.0""encoding=""UTF-8""?><?xml-stylesheettype=""text/xsl""href=""tb.xsl""?>"

%>

<response><error>1</error><message>您递交的信息有错误.请检查...</message></response>

<%

else

查找

'Trackbackresponsefunction上面加入

endif

endif

endif

********可以不换***********

查找

Response.Redirect("search.asp?searchType=trackback")

替换成

Response.c

Response.write"<?xmlversion=""1.0""encoding=""UTF-8""?><?xml-stylesheettype=""text/xsl""href=""tb.xsl""?>"

%>

<response><error>1</error><message>日志ID错误.请检查......</message></response>

<%

查找

<response><error>1</error><message>日志没有被引用.</message></response>

替换成

<response><error>1</error><message>日志(ID=<%Response.writetbID%>)没有被引用.</message></response>

********可以不换***********

===========================================================

文件classcls_article.asp

查找

引用通告地址:<ahref="<%=(SiteURL&"trackback.asp?tbID="&id)%>"target="_blank"><%=(SiteURL&"trackback.asp?tbID="&id)%></a>

替换成

引用通告地址:<ahref="<%=(SiteURL&"trackback.asp?tbID="&Encrypt(id)&"&key="&Encrypt((year(now))&(Month(now))&(day(now))&hour(now())))%>"target="_blank"><%=(SiteURL&"trackback.asp?tbID="&Encrypt(id)&"&key="&Encrypt((year(now))&(Month(now))&(day(now))&hour(now())))%></a>

查找

SubShowComm(LogID,comDesc,DisComment)

在下面添加

dimk1

k1=Encrypt((year(now))&(Month(now))&(day(now))&hour(now()))

查找

href=""trackback.asp?action=deltb&tbID="&commArr(6,Pcount)&"&logID="&LogID&"""

替换成

href=""trackback.asp?action=deltb&tbID="&Encrypt(commArr(6,Pcount))&"&logID="&LogID&"&key="&k1&"""

查找

TempArticle=Replace(TempArticle,"<"&"%ST(A)%"&">","")

替换成

dimk1

k1=Encrypt((year(now))&(Month(now))&(day(now))&hour(now()))

TempArticle=Replace(TempArticle,"<"&"%ST(A)%"&">","")

TempArticle=Replace(TempArticle,"<"&"%ST(KEY)%"&">",k1)===========================================================

文件classcls_logAction.asp

查找

Temp1=Replace(Temp1,"<$trackback$>",SiteURL&"trackback.asp?tbID="&LogID)

替换成

Temp1=Replace(Temp1,"<$trackback$>",SiteURL&"trackback.asp?tbID="&Encrypt(LogID)&"&key="&"<"&"%ST(KEY)%"&">")===========================================================

文件commonfunction.asp

在文件最后,%>的上面添加

FunctionEncrypt(theNumber)

OnErrorResumeNext

Dimn,szEnc,t,HiN,LoN,i

n=CDbl((theNumber+1570)^2-7*(theNumber+1570)-450)

Ifn<0ThenszEnc="R"ElseszEnc="J"

n=CStr(abs(n))

Fori=1ToLen(n)step2

t=Mid(n,i,2)

IfLen(t)=1Then

szEnc=szEnc&t

ExitFor

EndIf

HiN=(CInt(t)And240)/16

LoN=CInt(t)And15

szEnc=szEnc&Chr(Asc("M")+HiN)&Chr(Asc("C")+LoN)

Next

Encrypt=szEnc

EndFunction

FunctionDecrypt(theNumber)

OnErrorResumeNext

Dime,n,sign,t,HiN,LoN,NewN,i

e=theNumber

IfLeft(e,1)="R"Thensign=-1Elsesign=1

e=Mid(e,2)

NewN=""

Fori=1ToLen(e)step2

t=Mid(e,i,2)

IfAsc(t)>=Asc("0")AndAsc(t)<=Asc("9")Then

NewN=NewN&t

ExitFor

EndIf

HiN=Mid(t,1,1)

LoN=Mid(t,2,1)

HiN=(Asc(HiN)-Asc("M"))*16

LoN=Asc(LoN)-Asc("C")

t=CStr(HiNorLoN)

IfLen(t)=1Thent="0"&t

NewN=NewN&t

Next

e=CDbl(NewN)*sign

Decrypt=CLng((7+sqr(49-4*(-450-e)))/2-1570)

EndFunction

================================================

演示到我的BLOG看。我网络很慢。请您忍耐。

没有修改过这4个文件的用户可以下载下面的覆盖即可。

================================================

使用静态页的需要到后台从新建立所有日记。

不知道还有那不对的。希望大家踊跃测试,拍砖。

点击下载此文件

【插件下载┊垃圾引用防御补丁(每小时自动换KEY,支持静态页面)】相关文章:

使用ASP控制指定站点解析脚本语言函数

fso实例

ASP中的主页广告轮换大法

ASP编程常用的代码

ASP.NET共享ASP用户Session的方法及代码

系统分配随机密码

Access 开发人员常犯错误大全

asp中"无限流"分页程序代码

在MsSql、Access两种数据库中插入记录后马上得到自动编号的ID值

ASP编程入门进阶(十六):FSO组件之驱动器操作

精品推荐
分类导航