English Sentence Loading...............
屏蔽trackbacks广告--已修正
作者:exgods 日期:2006-07-18
终于完成了trackbacks随机生成码的修改,那些讨厌的的广告可以消失了...不过唯一的缺点是以前track过去的用户现在要重新track一遍... 
原理是SIC提出的...当trackback的ping的时候多了一个必要参数,该参数是在新建日志时自动生成随机数写入数据库...这样trackbacks链接地址就无规律了,只有到本站查看才可以添加trackbacks,以防止track广告机器人程序...
找不到SIC那篇曰志的链接了(知道这地址的跟下贴)...
在class/article.asp中找到
下添加
在// Insert --------------------------程序段中
下添加一项(注意}前没有,号,两项之间用,号分隔)
找到// Fill Article Object -------------------
在this.fill中添加一项(放在最后)
在class/cache.asp中找到
// Fill Recent Articles Array ----------------------------
在
添加一项(注意}前没有,号,两项之间用,号分隔)
,数字为上一项的数字+1
找到
// Get all article that later than that time
// Don't change the order of the fields in SQL string,在下面的SQL语句中多+一个字段log_tbksecuritycode
例:
在source/src_default.asp中找到
添加一项log_tbksecuritycode
例:
在scource/src_article中找到
// Insert new article下添加
在scoure/src_trackback.asp中找到
改成
在article.asp中找到
改成
在数据库表Blog_article中添加一个字段log_tbksecuritycode,类型文本,字段大小4
把所有文件中的trackback.asp替换成tbk.asp...
P.S.1 如果是有人盯上了你的Blog,那就没办法了,还是关trackbacks吧...
P.S.2 老的日志没有trackback的验证码,要手动添加太多了,于是我写了个程序自动生成...
安装说明:
[file=uploads/200607/18_234723_update_tbksc.rar]点击下载[/file]

原理是SIC提出的...当trackback的ping的时候多了一个必要参数,该参数是在新建日志时自动生成随机数写入数据库...这样trackbacks链接地址就无规律了,只有到本站查看才可以添加trackbacks,以防止track广告机器人程序...
找不到SIC那篇曰志的链接了(知道这地址的跟下贴)...

在class/article.asp中找到
复制内容到剪贴板
程序代码
程序代码this.prevArticle;
下添加
复制内容到剪贴板
程序代码
程序代码this.trackbackSecurityCode;
在// Insert --------------------------程序段中
复制内容到剪贴板
程序代码
程序代码"log_ubbFlags": this.ubbFlags,
下添加一项(注意}前没有,号,两项之间用,号分隔)
复制内容到剪贴板
程序代码
程序代码"log_tbksecuritycode":this.trackbackSecurityCode,
找到// Fill Article Object -------------------
在this.fill中添加一项(放在最后)
复制内容到剪贴板
程序代码
程序代码this.trackbackSecurityCode=arr["log_tbksecuritycode"];
在class/cache.asp中找到
// Fill Recent Articles Array ----------------------------
在
复制内容到剪贴板
程序代码
程序代码 this.recentArticles[i]=
添加一项(注意}前没有,号,两项之间用,号分隔)
复制内容到剪贴板
程序代码
程序代码,"log_tbksecuritycode": arr.getItem,(20,i),
找到
// Get all article that later than that time
// Don't change the order of the fields in SQL string,在下面的SQL语句中多+一个字段log_tbksecuritycode
例:
复制内容到剪贴板
程序代码
程序代码 // Don't change the order of the fields in SQL string
tmpA=connBlog.query("SELECT log_id, log_catID, log_authorID, log_author, log_title, log_content0, log_content1, log_editMark, log_mode, log_locked, log_selected, log_ubbFlags, log_trackbackURL, log_postTime, log_ip, log_commentCount, log_viewCount, log_trackbackCount, log_tags, log_top,log_tbksecuritycode FROM [blog_Article] WHERE log_id IN ("+arrList+") ORDER BY" + (bTop ? " log_top DESC," : "") + " log_postTime DESC",undefined,undefined,true);
tmpA=connBlog.query("SELECT log_id, log_catID, log_authorID, log_author, log_title, log_content0, log_content1, log_editMark, log_mode, log_locked, log_selected, log_ubbFlags, log_trackbackURL, log_postTime, log_ip, log_commentCount, log_viewCount, log_trackbackCount, log_tags, log_top,log_tbksecuritycode FROM [blog_Article] WHERE log_id IN ("+arrList+") ORDER BY" + (bTop ? " log_top DESC," : "") + " log_postTime DESC",undefined,undefined,true);
在source/src_default.asp中找到
复制内容到剪贴板
程序代码
程序代码 if(viewMode==1){
strSQL+="log_id, log_catid, log_title, log_authorid, log_author, log_mode, log_ubbFlags, log_postTime, log_ip, log_locked, log_selected, log_commentcount, log_viewcount, log_trackbackcount";
}else{
strSQL+="log_id, log_catid, log_title, log_content0, Left(log_content1,2) as log_content1, log_authorid, log_author, log_mode, log_ubbFlags, log_postTime, log_ip, log_locked, log_selected, log_commentcount, log_viewcount, log_trackbackcount";
strSQL+="log_id, log_catid, log_title, log_authorid, log_author, log_mode, log_ubbFlags, log_postTime, log_ip, log_locked, log_selected, log_commentcount, log_viewcount, log_trackbackcount";
}else{
strSQL+="log_id, log_catid, log_title, log_content0, Left(log_content1,2) as log_content1, log_authorid, log_author, log_mode, log_ubbFlags, log_postTime, log_ip, log_locked, log_selected, log_commentcount, log_viewcount, log_trackbackcount";
添加一项log_tbksecuritycode
例:
复制内容到剪贴板
程序代码
程序代码 if(viewMode==1){
strSQL+="log_id, log_catid, log_title, log_authorid, log_author, log_mode, log_ubbFlags, log_postTime, log_ip, log_locked, log_selected, log_commentcount, log_viewcount, log_trackbackcount,log_tbksecuritycode";
}else{
strSQL+="log_id, log_catid, log_title, log_content0, Left(log_content1,2) as log_content1, log_authorid, log_author, log_mode, log_ubbFlags, log_postTime, log_ip, log_locked, log_selected, log_commentcount, log_viewcount, log_trackbackcount,log_tbksecuritycode";
strSQL+="log_id, log_catid, log_title, log_authorid, log_author, log_mode, log_ubbFlags, log_postTime, log_ip, log_locked, log_selected, log_commentcount, log_viewcount, log_trackbackcount,log_tbksecuritycode";
}else{
strSQL+="log_id, log_catid, log_title, log_content0, Left(log_content1,2) as log_content1, log_authorid, log_author, log_mode, log_ubbFlags, log_postTime, log_ip, log_locked, log_selected, log_commentcount, log_viewcount, log_trackbackcount,log_tbksecuritycode";
在scource/src_article中找到
// Insert new article下添加
复制内容到剪贴板
程序代码
程序代码theArticle.trackbackSecurityCode=func.randomStr(4,"0123456789");
在scoure/src_trackback.asp中找到
复制内容到剪贴板
程序代码
程序代码 if(!input["url"]||!input["id"]){
trackbackResponse(1,"Invalid Parameter");
}else if(theCache.settings["enableTrackbackIn"]!=1){
trackbackResponse(1,"Trackback Disabled");
}else{
trackbackSave();
}
trackbackResponse(1,"Invalid Parameter");
}else if(theCache.settings["enableTrackbackIn"]!=1){
trackbackResponse(1,"Trackback Disabled");
}else{
trackbackSave();
}
改成
复制内容到剪贴板
程序代码
程序代码 if(!input["url"]||!input["id"]||!input["sc"]){
trackbackResponse(1,"Invalid Parameter");
}else if(theCache.settings["enableTrackbackIn"]!=1){
trackbackResponse(1,"Trackback Disabled");
}else{
var tbksc={"log_id": input["id"],
"sc": input["sc"],
"be_sc": ""
}
tbksc.log_id=func.checkInt(input["id"]);
tbksc.sc=func.checkInt(tbksc.sc);
var tmpA=connBlog.query("select log_tbksecuritycode from blog_Article where log_id="+tbksc.log_id);
tbksc.be_sc=tmpA[0]["log_tbksecuritycode"];
if(tbksc.be_sc==tbksc.sc){
trackbackSave();
}
else{
trackbackResponse(1,"Trackback Disabled");
}
}
trackbackResponse(1,"Invalid Parameter");
}else if(theCache.settings["enableTrackbackIn"]!=1){
trackbackResponse(1,"Trackback Disabled");
}else{
var tbksc={"log_id": input["id"],
"sc": input["sc"],
"be_sc": ""
}
tbksc.log_id=func.checkInt(input["id"]);
tbksc.sc=func.checkInt(tbksc.sc);
var tmpA=connBlog.query("select log_tbksecuritycode from blog_Article where log_id="+tbksc.log_id);
tbksc.be_sc=tmpA[0]["log_tbksecuritycode"];
if(tbksc.be_sc==tbksc.sc){
trackbackSave();
}
else{
trackbackResponse(1,"Trackback Disabled");
}
}
在article.asp中找到
复制内容到剪贴板
程序代码
程序代码<img src="<%=theCache.settings["imageFolder"]%>/utf8.png" class="meta-button" alt="UTF-8 Encoding" /> <b><%=lang["trackback_url"]%>:</b> <%=theCache.settings["baseURL"]+"trackback.asp?id="+theArticle.id%>
改成
复制内容到剪贴板
程序代码
程序代码<img src="<%=theCache.settings["imageFolder"]%>/utf8.png" class="meta-button" alt="UTF-8 Encoding" /> <b><%=lang["trackback_url"]%>:</b> <%=theCache.settings["baseURL"]+"trackback.asp?sc="+theArticle.trackbackSecurityCode+"&id="+theArticle.id%>
在数据库表Blog_article中添加一个字段log_tbksecuritycode,类型文本,字段大小4
把所有文件中的trackback.asp替换成tbk.asp...
P.S.1 如果是有人盯上了你的Blog,那就没办法了,还是关trackbacks吧...
P.S.2 老的日志没有trackback的验证码,要手动添加太多了,于是我写了个程序自动生成...
安装说明:
- 解压后传至Blog根目录
- 在IE中输入 您的域名/update_tbksc.asp
- 数据生成完毕后立即删除本网页
[file=uploads/200607/18_234723_update_tbksc.rar]点击下载[/file]
评论: 10 | 引用: 0 | 查看次数: 11679
[quote=myst]
对了,还有一问,怎样能让游客的ID不产生超链接?
谢谢
[/quote]
要改源码的...用vs2005调试就知道了..
最近太忙了,都没时间来这的...不好意思,这么晚才回...
对了,还有一问,怎样能让游客的ID不产生超链接?
谢谢
[/quote]
要改源码的...用vs2005调试就知道了..
最近太忙了,都没时间来这的...不好意思,这么晚才回...
对了,还有一问,怎样能让游客的ID不产生超链接?
谢谢
谢谢
哦……我理解岔了
我以为你意思是只把文件内容改掉,没有说trackback.asp这个文件名
太呆了……
谢谢
我以为你意思是只把文件内容改掉,没有说trackback.asp这个文件名
太呆了……
谢谢
[quote=myst]
有一个小小的问题
为什么要把所有文件中的trackback.asp替换成tbk.asp?
不是太明白这一个
[/quote]
当然是为了屏蔽广告软件...因为一般LBS的通用地址是一样的,如果你改了那中招机会要小点了.名字你可以随便取..
现在我不用这个防广告了,现在用一个wordpress的防广告功能,只会偶尔漏几条鱼.
有一个小小的问题
为什么要把所有文件中的trackback.asp替换成tbk.asp?
不是太明白这一个
[/quote]
当然是为了屏蔽广告软件...因为一般LBS的通用地址是一样的,如果你改了那中招机会要小点了.名字你可以随便取..
现在我不用这个防广告了,现在用一个wordpress的防广告功能,只会偶尔漏几条鱼.

有一个小小的问题
为什么要把所有文件中的trackback.asp替换成tbk.asp?
不是太明白这一个
为什么要把所有文件中的trackback.asp替换成tbk.asp?
不是太明白这一个
现在的trackbacks广告机器人是利用trackbacks的规律做的,比如id=7的文章它的trackbacks URL=trackbacks.asp?id=7,这样只要知道文章的ID就行推出URL...加了随机码后URL没有规律了,只有查看网页才能知道这个URL,所以刚好屏障了现今的机器人程序...
原来用户的URL还是原来有规律的URL,当然通不过现在改后的程序了...所以也没办法,不过应该大部分人别人真正trackbacks的文章数应该不多...
如果谁有更好的办法,分享下...
原来用户的URL还是原来有规律的URL,当然通不过现在改后的程序了...所以也没办法,不过应该大部分人别人真正trackbacks的文章数应该不多...

如果谁有更好的办法,分享下...

支持下
我没细看
有点不明白的是为什么原来Trackback过的用户要重新TB?
希望可以再优化一下。
我没细看
有点不明白的是为什么原来Trackback过的用户要重新TB?
希望可以再优化一下。
经过我这几天试用下来,感觉这还蛮管用的..
监视来源,发现是欧洲的一个家伙一直在我博客发广告,哈..现在他没办法了...
P.S.如果出现Bug请通知我....
监视来源,发现是欧洲的一个家伙一直在我博客发广告,哈..现在他没办法了...

P.S.如果出现Bug请通知我....

呵呵,你救了我一命啊
我今天刚刚删除了100多条trackback广告
我今天刚刚删除了100多条trackback广告
发表评论







上一篇
下一篇
文章来自:
Tags:
相关日志:
回复