这段时间忽然发现动易系统的评论中出现大量用户名:$namer,内容:$Comcont ,且IP为null的评论记录,经过分析查找终于发现是由于动易自带的wap访问文件(/wap/index.asp)处理不严格造成的。
我的解决办法如下:
打开文件 /wap/index.asp
1、找到
Source = Trim(Request(“Source”))
在其下面添加
[color=Blue]
Namer = Trim(Request(“Namer”))
Comcont = Trim(Request(“Comcont”))
[/color]
2、将
Call CommentSave(ChannelID, Mtype, ArticleID, StrRow(4), StrRow(5), StrRow(6))
替换成
Call CommentSave(ChannelID, Mtype, ArticleID, Namer, Comcont, StrRow(6))
3、将
[code]
If rsClass(“CheckComment”) = True Then
strHTML = strHTML & “<a href=””” & WapDomain & “?Source=CommentSave|” & iChannelID & “|” & iModuleType & “|” & iID & “|$(namer:n)|$(Comcont:n)|0″”>提交</a></p>” & vbCrLf
Else
strHTML = strHTML & “<a href=””” & WapDomain & “?Source=CommentSave|” & iChannelID & “|” & iModuleType & “|” & iID & “|$(namer:n)|$(Comcont:n)|1″”>提交</a></p>” & vbCrLf End If
[/code]
替换成
[code]
strHTML = strHTML & “<go href=””” & WapDomain & “”” method=””post””>”
strHTML = strHTML & “<postfield name=””namer”” value=””$(namer:n)”” />”
strHTML = strHTML & “<postfield name=””Comcont”” value=””$(Comcont:n)”” />”
If rsClass(“CheckComment”) = True Then
strHTML = strHTML & “<postfield name=””Source”” value=””CommentSave|” & iChannelID & “|” & iModuleType & “|” & iID & “|$(namer:n)|$(Comcont:n)|0″” />”
Else
strHTML = strHTML & “<postfield name=””Source”” value=””CommentSave|” & iChannelID & “|” & iModuleType & “|” & iID & “|$(namer:n)|$(Comcont:n)|1″” />”
End If
strHTML = strHTML & “</go></anchor>”
[/code]
4、解决中文乱码问题

rsComment(“UserName”) = UTF2GB(iName)
替换成
rsComment(“UserName”) = UTF2GB(Server.URLEncode(iName))

rsComment(“Content”) = UTF2GB(iComcont)
替换成
rsComment(“Content”) = UTF2GB(Server.URLEncode(iComcont))
5、增加手机访问时的IP地址 在第4步代码附近添加代码
rsComment(“ip”) = Request.ServerVariables(“REMOTE_ADDR”)

发表评论

后才能评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

评论(1)

  • 方来 2010 年 4 月 26 日 下午 9:52

    感谢你提供的思路!我网站的问题已解决。不过,可能由于代码复制到博客中显示出来与源代码不一致的问题,以及部分代码缺漏,文中的代码有几处错误,导致提交按钮无法显示。由于这里限制了字数,无法提交代码。请移步:“方来的blog”
    很高兴还有和我一样研究使用siteweaver的朋友!