插件下载┊垃圾引用防御补丁(每小时自动换KEY,支持静态页面)
技术  /  管理员 发布于 7年前   203
发 布 人: 向导
补 丁 名: 垃圾引用防御补丁
发布时间: 2007-1-4
版 本 号: 第3版
适用版本: PJblog 2.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")))
查找
If Not (IsInteger(Request.QueryString("tbID")) AND IsInteger(Request.QueryString("logID"))) Then
替换成
If Not IsInteger(Decrypt(Request.QueryString("tbID"))) AND IsInteger(Request.QueryString("logID")) Then
查找
Where blog_ID="&logID&" AND tb_ID="&CheckStr(Request.QueryString("tbID"))
替换成
Where blog_ID="&logID&" AND tb_ID="&Decrypt(CheckStr(Request.QueryString("tbID")))
**有2处
查找
'==================================
' 引用通告处理页面
' 更新时间: 2006-6-1
'==================================
在下面加入
dim keys,keys1
keys=Request.QueryString("key")
keys1=Encrypt((year(now))&(Month(now))&(day(now))&hour(now()))
if keys<>keys1 then
Response.c
Response.write "<?xml version=""1.0"" encoding=""UTF-8""?><?xml-stylesheet type=""text/xsl"" href="https:/article/"tb.xsl""?>"
%>
<response><error>1</error><message>您递交的信息已过期.请检查...</message></response>
<%
else
dim strget
strget=trim(Request.QueryString("tbID"))
if len(strget) > 8 then
Response.c
Response.write "<?xml version=""1.0"" encoding=""UTF-8""?><?xml-stylesheet type=""text/xsl"" href="https:/article/"tb.xsl""?>"
%>
<response><error>1</error><message>您递交的信息有错误.请检查...</message></response>
<%
else
dim tbIDs
tbIDs = Decrypt(CheckStr(Request.QueryString("tbID")))
if tbIDs < 1 then
Response.c
Response.write "<?xml version=""1.0"" encoding=""UTF-8""?><?xml-stylesheet type=""text/xsl"" href="https:/article/"tb.xsl""?>"
%>
<response><error>1</error><message>您递交的信息有错误.请检查...</message></response>
<%
else
查找
'Trackback response function上面加入
end if
end if
end if
********可以不换***********
查找
Response.Redirect("search.asp?searchType=trackback")
替换成
Response.c
Response.write "<?xml version=""1.0"" encoding=""UTF-8""?><?xml-stylesheet type=""text/xsl"" href="https:/article/"tb.xsl""?>"
%>
<response><error>1</error><message>日志ID错误.请检查......</message></response>
<%
查找
<response><error>1</error><message>日志没有被引用.</message></response>
替换成
<response><error>1</error><message>日志(ID=<% Response.write tbID %>)没有被引用.</message></response>
********可以不换***********
===========================================================
文件class\cls_article.asp
查找
引用通告地址:<a href="https:/article/<%=(SiteURL&"trackback.asp?tbID="&id)%>" target="_blank"><%=(SiteURL&"trackback.asp?tbID="&id)%></a>
替换成
引用通告地址:<a href="https:/article/<%=(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>
查找
Sub ShowComm(LogID,comDesc,DisComment)
在下面添加
dim k1
k1=Encrypt((year(now))&(Month(now))&(day(now))&hour(now()))
查找
href="https:/article/"trackback.asp?action=deltb&tbID="&commArr(6,Pcount)&"&logID="&LogID&"""
替换成
href="https:/article/"trackback.asp?action=deltb&tbID="&Encrypt(commArr(6,Pcount))&"&logID="&LogID&"&key="&k1&"""
查找
TempArticle=Replace(TempArticle,"<"&"%ST(A)%"&">","")
替换成
dim k1
k1=Encrypt((year(now))&(Month(now))&(day(now))&hour(now()))
TempArticle=Replace(TempArticle,"<"&"%ST(A)%"&">","")
TempArticle=Replace(TempArticle,"<"&"%ST(KEY)%"&">",k1)===========================================================
文件class\cls_logAction.asp
查找
Temp1=Replace(Temp1,"<$trackback$>",SiteURL&"trackback.asp?tbID="&LogID)
替换成
Temp1=Replace(Temp1,"<$trackback$>",SiteURL&"trackback.asp?tbID="&Encrypt(LogID)&"&key="&"<"&"%ST(KEY)%"&">")===========================================================
文件common\function.asp
在文件最后,%>的上面添加
Function Encrypt(theNumber)
On Error Resume Next
Dim n, szEnc, t, HiN, LoN, i
n = CDbl((theNumber + 1570) ^ 2 - 7 * (theNumber + 1570) - 450)
If n < 0 Then szEnc = "R" Else szEnc = "J"
n = CStr(abs(n))
For i = 1 To Len(n) step 2
t = Mid(n, i, 2)
If Len(t) = 1 Then
szEnc = szEnc & t
Exit For
End If
HiN = (CInt(t) And 240) / 16
LoN = CInt(t) And 15
szEnc = szEnc & Chr(Asc("M") + HiN) & Chr(Asc("C") + LoN)
Next
Encrypt = szEnc
End Function
Function Decrypt(theNumber)
On Error Resume Next
Dim e, n, sign, t, HiN, LoN, NewN, i
e = theNumber
If Left(e, 1) = "R" Then sign = -1 Else sign = 1
e = Mid(e, 2)
NewN = ""
For i = 1 To Len(e) step 2
t = Mid(e, i, 2)
If Asc(t) >= Asc("0") And Asc(t) <= Asc("9") Then
NewN = NewN & t
Exit For
End If
HiN = Mid(t, 1, 1)
LoN = Mid(t, 2, 1)
HiN = (Asc(HiN) - Asc("M")) * 16
LoN = Asc(LoN) - Asc("C")
t = CStr(HiN or LoN)
If Len(t) = 1 Then t = "0" & t
NewN = NewN & t
Next
e = CDbl(NewN) * sign
Decrypt = CLng((7 + sqr(49 - 4 * (-450 - e))) / 2 - 1570)
End Function
================================================
演示到我的BLOG看。我网络很慢。请您忍耐。
没有修改过这4个文件的用户可以下载下面的覆盖即可。
================================================
使用静态页的需要到后台从新建立所有日记。
不知道还有那不对的。希望大家踊跃测试,拍砖。
点击下载此文件
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号