官方首页 | 无图版 | BBS首页
PJBlog2最新版本下载|升级包(2007.12.23) Bo-Blog V2.1.0 到 PJBlog 2.7 的转换程序 WP 2.3 到 PJ 2.6/2.7 的转换程序 手把手教您在PJForum上传图片
PJBlog技术支持论坛使用问题总索引 手术式讲解视频教程如何制作 PJblog2.7.05终极资源包电驴免费下载 风格使用区-HOT! 凤凰行动开始!
 22 123
发新话题
打印

修改PJBlog验证码为加法运算题,有效防止广告信息.

本主题由 anson 于 2008-2-25 00:43 推荐主题

修改PJBlog验证码为加法运算题,有效防止广告信息.

每天清理Blog的广告评论和留言就得花上不少时间,甚至有一次3天没上网,打开Blog发现90多条广告评论,顿时觉悟:是时候改进PJ的验证方式了。最近看到mifly的WP上采用了新的验证码,形式是一道加法运算题,简单明了,而且也对于浏览者来说,填写一个1到2位数的答案,比起填写4到6位数的验证码舒服多了。
  于是自己稍微研究了PJ的验证码机制,参照BoBlog的类似功能,做一点改动,初步实现加法运算形式的用户验证。当然WP上那个算法验证码是随机生成的,技术含量比我这个简单的小修改强很多,具体修改效果如下:


具体演示:http://bigik.cn/blog/article.asp?id=245

修改方法:

1. 打开common目录下的function.asp,在大约50行左右可以找到以下代码:
复制内容到剪贴板
代码:
'*************************************
'获得注册码
'*************************************  
'Function getcode()
                'getcode= "<img src=""common/getcode.asp"" alt="""" style=""margin-right:40px;""/>"               
'End Function
2. 将其替换为以下代码:
复制内容到剪贴板
代码:
'*************************************
'获得注册码
'*************************************  
'Function getcode()
                getcode= "<img src=""common/getcode.asp"" alt="""" style=""margin-right:40px;""/>"               
'End Function

'*************************************
'获得注册码,运算问题
'NewValidate For PJblog2 BY Bigheadlyf
'更新时间: 2007-4-4
'*************************************
Function getcode()

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("GetCode") = AnswerArray(CodeIndex)
getcode = "<span style=""margin-right:40px;"">" & QuesionArray(CodeIndex) & "</span>"
End Function
3. 保存文件,上传到服务器,测试~

4. 其他修改建议:
问题可以设置为加减乘除任意问题或者其他文字问题,例如“987 x 654 = ?”、“中国有几个少数民族?”等等,不要让浏览者答不上就可以了  。
建议将验证码输入框宽度改小些,且最大输入字符数设置为2。

希望大家喜欢~ 具体效果有待测试~  有问题请到我的Blog-bigik.cn留言,最近访问PJBBS的速度特慢....

[ 本帖最后由 bigheadlyf 于 2007-4-4 11:26 编辑 ]
本帖最近评分记录
  • 52077 PJ币 +22 大头加油! 2007-4-4 14:37

TOP

不错!

TOP

顶,,今日采用。。

TOP

谢谢大家的支持~

经过几天测试,觉得Mr.W版主说的有道理。。。

想不到什么好的中文问题,各位有什么好题目分享分享~

TOP

0+1= 一 (大写"一")

TOP

其它那个在0+1=?(*****)括号中的可以写提示:如,请大写一字。

另一个中文问题:
你爱我吗?
A:爱      (答对,通过)
B:不爱   (答错,不通过)

TOP

回复 #11 星铃丹 的帖子

目前这是最好的办法!
假不假别人也不知道```````

TOP

汗   怎么不能用的

TOP

有问题啊,按照以上做了后,只要回答的数字不超过8都是正确的,为什么?

TOP

My Blog www.fatime.cn

TOP

 22 123
发新话题