程序代码" tbKey=100000 + int(899999*rnd) "
修改为
程序代码RANDOMIZE
tbKey=int(900000*rnd)+100000
tbKey=int(900000*rnd)+100000
欢迎大家继续查错。
10.4日更新:已经完成所有预想的功能,引用地址增加 Key 值验证,每被成功发送一次引用随机生成新的 Key 值并写入数据库保存,页面上的引用地址默认隐藏,通过点击查看。
测试地址:http://www.alonefly.net/test
打开任意一篇日志,点击 “ 查看引用地址 ” 得到真实的 引用链接地址。原 PJBLOG 默认的引用地址,即链接最后面不带 “ &key= ” 字样的将无法成功发送引用。
向本站发送引用后,引用地址中的 key 会随机更换成新的 6 位数值。
=================================================
LBS 那边的插件开发项目大部分都完结,顺便过来看看PJBLOG,发现大家还是采取极端手段对付垃圾引用不觉得……ER……不知道形容了。这段时间对 VBScript 更加了解了,便尝试将 LBS 的垃圾引用屏蔽功能移植过来。
首先在 blog_Info 表内增加一个字段,字段名称 blog_tbKey 数据类型为数字。并且填入任意数字为值
打开 trackback.asp 搜索:
程序代码If Conn.Execute("Select count(tb_ID) FROM blog_Trackback Where blog_ID="&tbID&" AND tb_URL='"&tbURL&"' AND tb_Title='"&tbTitle&"' AND tb_Intro='"&tbExcerpt&"' AND tb_Site='"&tbBlog&"'")(0)>0 Then
tbResponseXML 1,"此引用通告已发送!"
end if
if filterSpam(tbExcerpt & tbURL,"spam.xml") then
tbResponseXML 1,"此引用通告中包含被屏蔽的字符"
end if
tbResponseXML 1,"此引用通告已发送!"
end if
if filterSpam(tbExcerpt & tbURL,"spam.xml") then
tbResponseXML 1,"此引用通告中包含被屏蔽的字符"
end if
修改为:
程序代码if StrComp(Request.QueryString("key"),blog_tbKey)=0 Then
If Conn.Execute("Select count(tb_ID) FROM blog_Trackback Where blog_ID="&tbID&" AND tb_URL='"&tbURL&"' AND tb_Title='"&tbTitle&"' AND tb_Intro='"&tbExcerpt&"' AND tb_Site='"&tbBlog&"'")(0)>0 Then
tbResponseXML 1,"此引用通告已发送!"
end if
if filterSpam(tbExcerpt & tbURL,"spam.xml") then
tbResponseXML 1,"此引用通告中包含被屏蔽的字符"
end if
else
tbResponseXML 1,"嘿!你小子搞错地址了吧!"
end if
If Conn.Execute("Select count(tb_ID) FROM blog_Trackback Where blog_ID="&tbID&" AND tb_URL='"&tbURL&"' AND tb_Title='"&tbTitle&"' AND tb_Intro='"&tbExcerpt&"' AND tb_Site='"&tbBlog&"'")(0)>0 Then
tbResponseXML 1,"此引用通告已发送!"
end if
if filterSpam(tbExcerpt & tbURL,"spam.xml") then
tbResponseXML 1,"此引用通告中包含被屏蔽的字符"
end if
else
tbResponseXML 1,"嘿!你小子搞错地址了吧!"
end if
搜索到
程序代码Conn.Execute("Insert INTO blog_TrackBack (blog_ID, tb_URL, tb_Title, tb_Intro, tb_Site, tb_PostTime) VALUES ("&tbID&",'"&tbURL&"','"&tbTitle&"','"&tbExcerpt&"','"&tbBlog&"',Now())")
Conn.Execute("Update blog_Content SET log_QuoteNums=log_QuoteNums+1 Where log_ID="&tbID)
Conn.Execute("Update blog_Info Set blog_tbNums=blog_tbNums+1")
Conn.Execute("Update blog_Content SET log_QuoteNums=log_QuoteNums+1 Where log_ID="&tbID)
Conn.Execute("Update blog_Info Set blog_tbNums=blog_tbNums+1")
替换成
程序代码dim tbKey
RANDOMIZE
tbKey=int(900000*rnd)+100000
Conn.Execute("Insert INTO blog_TrackBack (blog_ID, tb_URL, tb_Title, tb_Intro, tb_Site, tb_PostTime) VALUES ("&tbID&",'"&tbURL&"','"&tbTitle&"','"&tbExcerpt&"','"&tbBlog&"',Now())")
Conn.Execute("Update blog_Content SET log_QuoteNums=log_QuoteNums+1 Where log_ID="&tbID)
Conn.Execute("Update blog_Info Set blog_tbNums=blog_tbNums+1")
Conn.Execute("Update blog_Info Set blog_tbKey="&tbKey)
RANDOMIZE
tbKey=int(900000*rnd)+100000
Conn.Execute("Insert INTO blog_TrackBack (blog_ID, tb_URL, tb_Title, tb_Intro, tb_Site, tb_PostTime) VALUES ("&tbID&",'"&tbURL&"','"&tbTitle&"','"&tbExcerpt&"','"&tbBlog&"',Now())")
Conn.Execute("Update blog_Content SET log_QuoteNums=log_QuoteNums+1 Where log_ID="&tbID)
Conn.Execute("Update blog_Info Set blog_tbNums=blog_tbNums+1")
Conn.Execute("Update blog_Info Set blog_tbKey="&tbKey)
打开 class/cls_logAction.asp 搜索
程序代码SiteURL&"trackback.asp?tbID="&LogID
替换成
程序代码SiteURL&"trackback.asp?tbID="&LogID&"&key="&blog_tbKey
打开 Template/Article.asp 搜索到:
程序代码<a href="<$trackback$>" target="_blank"><$trackback$></a><br/>
替换成
程序代码<span id=tburl><a href="javascript:showTrackBack()">查看引用地址</a></span><br/>
<script type="text/javascript">
// 引用地址显示
function showTrackBack(){
var tb_url_text
tb_url_text = '<a href="<$trackback$>" target="_blank"><$trackback$></a>'
document.getElementById("tburl").innerHTML = tb_url_text
}
</script>
<script type="text/javascript">
// 引用地址显示
function showTrackBack(){
var tb_url_text
tb_url_text = '<a href="<$trackback$>" target="_blank"><$trackback$></a>'
document.getElementById("tburl").innerHTML = tb_url_text
}
</script>
打开 class/cls_article.asp,搜索到
程序代码<a href="<%=(SiteURL&"trackback.asp?tbID="&id)%>" target="_blank"><%=(SiteURL&"trackback.asp?tbID="&id)%></a><br/>
替换成:
程序代码<span id=tburl><a href="javascript:showTrackBack()">查看引用地址</a></span><br/>
<script type="text/javascript">
// 引用地址显示
function showTrackBack(){
var tb_url_text
tb_url_text = '<a href="<%=(SiteURL&"trackback.asp?tbID="&id&"&key="&blog_tbKey)%>" target="_blank"><%=(SiteURL&"trackback.asp?tbID="&id&"&key="&blog_tbKey)%></a>'
document.getElementById("tburl").innerHTML = tb_url_text
}
</script>
<script type="text/javascript">
// 引用地址显示
function showTrackBack(){
var tb_url_text
tb_url_text = '<a href="<%=(SiteURL&"trackback.asp?tbID="&id&"&key="&blog_tbKey)%>" target="_blank"><%=(SiteURL&"trackback.asp?tbID="&id&"&key="&blog_tbKey)%></a>'
document.getElementById("tburl").innerHTML = tb_url_text
}
</script>
最后打开 common/cache.asp,搜索到
程序代码Dim blog_wapNum,blog_wapImg,blog_wapHTML,blog_wapLogin,blog_wapComment,blog_wap,blog_wapURL
替换成
程序代码Dim blog_wapNum,blog_wapImg,blog_wapHTML,blog_wapLogin,blog_wapComment,blog_wap,blog_wapURL,blog_tbKey
搜索到
程序代码"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" & _
搜索到
程序代码blog_wapURL=CBool(blog_Infos(44,0))'使用 wap 转换文章超链接
从下一行插入
程序代码blog_tbKey=int(blog_Infos(45,0))'引用验证Key
这样就修改完毕了

