原话如此: "虽然不能完全解决 Spam 的问题, 但至少还可以先凑合一下!"
升级前请备份好数据库和相关文件…
升级数据库, 升级程序在2.0.311文件包里有, 文件包在这里下载. 上传_upgrade_2.0.304_2.0.310.asp 运行这个文件升级数据库, 升级完成后请记得删除 _upgrade_2.0.304_2.0.310.asp 文件.
修改文件
1. 根目录下的admin.asp
第240行左右找到
<td class="formbox-content"><input type="checkbox" name="enableGuestBook" value="true"<%if(theCache.settings["enableGuestBook"]==1)write(" checked=\"checked\"")%> /> <%=lang["enabled"]%></td>
</tr>[/code]在前面添加
<td class="formbox-content"><input type="text" name="maxCommentURLCount" size="4" value="<%=theCache.settings$[$"maxCommentURLCount"$]$%>" maxlength="4" class="text" /> <%=lang$[$"max_comment_url_count_note"$]$%></td>
</tr>
<tr>
2. 根目录下的_common.asp
第8行左右找到
修改为
3. class里的functions.asp
第325行左右找到
在前面添加
this.countURL = function(strMessage){
var m = strMessage.match(/http\:\/\//ig);
if(m==null) return 0;
return m.length;
}
4. source目录下的src_admin.asp
第200行左右找到
在前面添加
5. source目录下的src_comment.asp
第243行左右找到
input$[$"message"$]$=func.trim(input$[$"message"$]$);
if(!input$[$"message"$]$){
strError+="<li>"+lang$[$"content_blank"$]$+"</li>";
}else{
if(input$[$"message"$]$.length>theCache.settings$[$"maxCommentLength"$]$||input$[$"message"$]$.length<2){
strError+="<li>"+lang$[$"length_invalid"$]$+"</li>";
}
if(func.countURL(input$[$"message"$]$)>theCache.settings$[$"maxCommentURLCount"$]$){
strError+="<li>"+lang$[$"comment_url_count_block"$]$+"</li>";
}
input$[$"message"$]$=func.wordFilter(input$[$"message"$]$);
if(!input$[$"message"$]$){
strError+="<li>"+lang$[$"wordfilter_block"$]$+"</li>";
}
}
修改为
input$[$"message"$]$=func.trim(input$[$"message"$]$);
if(!input$[$"message"$]$){
strError+="<li>"+lang$[$"content_blank"$]$+"</li>";
}else{
if(input$[$"message"$]$.length>theCache.settings$[$"maxCommentLength"$]$||input$[$"message"$]$.length<2){
strError+="<li>"+lang$[$"length_invalid"$]$+"</li>";
}
if(func.countURL(input$[$"message"$]$)>theCache.settings$[$"maxCommentURLCount"$]$){
strError+="<li>"+lang$[$"comment_url_count_block"$]$+"</li>";
}
input$[$"message"$]$=func.wordFilter(input$[$"message"$]$);
if(!input$[$"message"$]$){
strError+="<li>"+lang$[$"wordfilter_block"$]$+"</li>";
}
}
6. source目录下的src_gbook.asp
第220行左右找到
input$[$"message"$]$=func.trim(input$[$"message"$]$);
if(!input$[$"message"$]$){
strError+="<li>"+lang$[$"content_blank"$]$+"</li>";
}else{
if(input$[$"message"$]$.length>theCache.settings$[$"maxCommentLength"$]$||input$[$"message"$]$.length<2){
strError+="<li>"+lang$[$"length_invalid"$]$+"</li>";
}
input$[$"message"$]$=func.wordFilter(input$[$"message"$]$);
if(!input$[$"message"$]$){
strError+="<li>"+lang$[$"wordfilter_block"$]$+"</li>";
}
}
return strError;
}
修改为
input$[$"message"$]$=func.trim(input$[$"message"$]$);
if(!input$[$"message"$]$){
strError+="<li>"+lang$[$"content_blank"$]$+"</li>";
}else{
if(input$[$"message"$]$.length>theCache.settings$[$"maxCommentLength"$]$||input$[$"message"$]$.length<2){
strError+="<li>"+lang$[$"length_invalid"$]$+"</li>";
}
if(func.countURL(input$[$"message"$]$)>theCache.settings$[$"maxCommentURLCount"$]$){
strError+="<li>"+lang$[$"comment_url_count_block"$]$+"</li>";
}
input$[$"message"$]$=func.wordFilter(input$[$"message"$]$);
if(!input$[$"message"$]$){
strError+="<li>"+lang$[$"wordfilter_block"$]$+"</li>";
}
}
return strError;
}
7. source目录下的src_trackback.asp
第127行左右找到
在前面添加
trackbackResponse(1, "Excerpt contains too many urls");
}
8. lang目录下admin.asp
任意地方添加
t$[$"max_comment_url_count_note"$]$="<span class=\"comment-text\">(Block when exceeded)</span>";
9. lang目录下blog.asp
任意地方添加
测试通过! 放心使用


通过半天的观察, 发现这个针对Spam的修改升级果然起作用了.
June 24, 2007 @ 12:44
刚刚升级完。
June 24, 2007 @ 19:10