官方首页 | 无图版 | BBS首页
PJBlog3 2.8.5.157 新版发布 下载|升级(2008.8.26) 来给PJ3提提发展建议 2008版 PJHOME 珍藏/纪念版官方T恤 正式发布! PJ3内测团队主创人员身份,性格,特点吐血大曝光
PJBlog技术支持论坛使用问题总索引 PJ-Blog 3 斑竹日志 【独家】我使用过的三种空间,与客服的精彩故事 Z-Blog,Wordpress,Bo-Blog转换到PJBlog
 17 12
发新话题
打印

简单有效的防制垃圾引用(第1版)

简单有效的防制垃圾引用(第1版)

简单有效的防制垃圾引用(第1版)
我只加在了日记页面。其他页面我正在找。

效果

引用通告地址: trackback.asp?tbID=JNKPQRI8

论坛下载不了的可以到我的BLOG下载
具体方法如下。

===========================================================
文件trackback.asp
查找
tbID = CheckStr(Request.QueryString("tbID"))
替换成
tbID = Decrypt(CheckStr(Request.QueryString("tbID")))


********可以不换***********
查找
Response.Redirect("search.asp?searchType=trackback")
替换成
Response.contentType="text/xml"
Response.write "<?xml version=""1.0"" encoding=""UTF-8""?><?xml-stylesheet type=""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.write tbID %>)没有被引用.</message></response>

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

===========================================================
文件class\cls_article.asp
查找
引用通告地址:</strong> <a href="<%=(SiteURL&"trackback.asp?tbID="&id)%>" target="_blank"><%=(SiteURL&"trackback.asp?tbID="&id)%></a>
替换成
引用通告地址:</strong> <a href="<%=(SiteURL&"trackback.asp?tbID="&Encrypt(id))%>" target="_blank"><%=(SiteURL&"trackback.asp?tbID="&Encrypt(id))%>
查找
<a href=""trackback.asp?action=deltb&tbID="&commArr(6,Pcount)&"&logID="&LogID&"""
替换成
<a href=""trackback.asp?action=deltb&tbID="&Encrypt(commArr(6,Pcount))&"&logID="&LogID&"""
===========================================================
文件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

=============================================================
其他页面我还没有加。请大家一起找找。
演示自己找。都有人说我大AD了。

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

[ 本帖最后由 向导 于 2007-1-3 08:25 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

还有漏洞啊。已经发现。不知道asp如何过滤负数。我还是学艺不精,瞎弄一通。

TOP

解决了
文件trackback.asp
找到
getInfo(1)
在下面添加

  getInfo(1)
  dim tbIDs
  tbIDs = Decrypt(CheckStr(Request.QueryString("tbID")))
                if tbIDs < 1 then
                Response.contentType="text/xml"
                Response.write "<?xml version=""1.0"" encoding=""UTF-8""?><?xml-stylesheet type=""text/xsl"" href=""tb.xsl""?>"
                %>
                <response><error>1</error><message>日志ID(<% Response.write tbIDs %>)错误.请检查......</message></response>
                <%
                else

找到
'Trackback response function
在他前面添加
end if

TOP

在次更新。由于技术问题。只能把ID现在到4位。就是日记ID不能是5位数字。一般的BLOG不能有1W条帖吧?
下载下面的文件覆盖就可以了。
附件: 您所在的用户组无法下载或查看附件

TOP

好东西`谢谢向导 的制作```

辛苦了`先用下``

TOP

真能防止么..

TOP

TOP

引用:
原帖由 52077 于 2007-1-3 02 发表
看来最近AD盛行啊!(楼上这种... )
你是在说我发AD么?
那我还是把我的连接删除了吧。

TOP

最后,大家用批量修改工具把trackback.asp一改名。

我想这样。批量垃圾引用的广告机上不来了吧。

TOP

引用是blog的特色之一
被弄得这么郁闷了
偶bloghttp://www.9java.com

TOP

 17 12
发新话题