新增加一个防垃圾评论的asp代码,鄙视垃圾
(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
最近开通了,可以发表评论就一直被垃圾评论和留言困扰,一直没有找到很好的解决办法。事实上wordpress有一些强悍的插件可以防治spam,比如Akismet,不过这只能让我留着口水羡慕,因此最近一直在寻找一个相对较好的解决方案。
今天在Bigik.cn上看到一个不错的方法,Bigik使用加法运算形式的用户验证来解决这个问题。现把方法转载过来。当然这个方法不是很完善,我发现还会有一些spam进来。
使用方法:
程序代码
复制代码 代码如下:
Function getnum()
Dim QuesionNum
QuesionNum=7 '问题的总数,如要添加问题,请先修改这个数值
Dim CodeIndex
CodeIndex=0
Dim QuesionArray(100)
Dim AnswerArray(100)
QuesionArray(0)="= 1 + 1" '问题列表及答案,可自行修改
AnswerArray(0)="2"
QuesionArray(1)="= 2 + 2"
AnswerArray(1)="4"
QuesionArray(2)="= 3 + 4"
AnswerArray(2)="7"
QuesionArray(3)="= 2 + 4"
AnswerArray(3)="6"
QuesionArray(4)="= 1 + 2"
AnswerArray(4)="3"
QuesionArray(5)="= 2 + 3"
AnswerArray(5)="5"
QuesionArray(6)="= 4 + 4"
AnswerArray(6)="8"
Randomize
CodeIndex = Int((QuesionNum * Rnd) + 0)
Session("Getnum") = AnswerArray(CodeIndex)
getnum = "<span style=""margin-right:40px;"">" & QuesionArray(CodeIndex) & "</span>"
End Function
调用方法:
复制代码 代码如下:
<%response.write getnum()%>
其他修改建议:
问题可以设置为加减乘除任意问题或者其他文字问题,例如“987 x 654 = ?”、“中国有几个少数民族?”等等,不要让浏览者答不上就可以了:P。
建议将验证码输入框宽度改小些,且最大输入字符数设置为2。
今天在Bigik.cn上看到一个不错的方法,Bigik使用加法运算形式的用户验证来解决这个问题。现把方法转载过来。当然这个方法不是很完善,我发现还会有一些spam进来。
使用方法:
程序代码
复制代码 代码如下:
Function getnum()
Dim QuesionNum
QuesionNum=7 '问题的总数,如要添加问题,请先修改这个数值
Dim CodeIndex
CodeIndex=0
Dim QuesionArray(100)
Dim AnswerArray(100)
QuesionArray(0)="= 1 + 1" '问题列表及答案,可自行修改
AnswerArray(0)="2"
QuesionArray(1)="= 2 + 2"
AnswerArray(1)="4"
QuesionArray(2)="= 3 + 4"
AnswerArray(2)="7"
QuesionArray(3)="= 2 + 4"
AnswerArray(3)="6"
QuesionArray(4)="= 1 + 2"
AnswerArray(4)="3"
QuesionArray(5)="= 2 + 3"
AnswerArray(5)="5"
QuesionArray(6)="= 4 + 4"
AnswerArray(6)="8"
Randomize
CodeIndex = Int((QuesionNum * Rnd) + 0)
Session("Getnum") = AnswerArray(CodeIndex)
getnum = "<span style=""margin-right:40px;"">" & QuesionArray(CodeIndex) & "</span>"
End Function
调用方法:
复制代码 代码如下:
<%response.write getnum()%>
其他修改建议:
问题可以设置为加减乘除任意问题或者其他文字问题,例如“987 x 654 = ?”、“中国有几个少数民族?”等等,不要让浏览者答不上就可以了:P。
建议将验证码输入框宽度改小些,且最大输入字符数设置为2。
下一篇:asp下sql和access数据库随机取10条记录的代码newid()