自己写的一个PJBlog中可以双击输入验证码的修改
作者:dudo 来源:dudo博客 发布时间:2009-05-17 10:51:00
看到有人用的PJBlog使用的是自动填写验证码,这样其实也不使用验证码基本上没有什么区别,很容易被 * ,因此在参照许多修改的基础上,找到了一个折衷的方法,既可以方便地输入验证码又可以较好地避免恶意留言。
不说废话,下面来看过程吧:
一共三处改动:
1、新建一个asp文件,这里给他起个名字叫code.asp,然后写入如下代码:
<body>
<input type="text" id="tempGetCode" value="<%=Session("GetCode")%>" >
</body>
2、在footer.asp中的最后面,</body>标签之前下添加如下代码
<!--以上为原代码以下是自定义代码:双击自动填写验证码-->
<script>
//获得验证码
function getValidateCode(){
var oValidate;
oValidate = document.getElementById("validate")
oValidate.value =parent.getCode.document.getElementById("tempGetCode").value;
}
</script>
<iframe frameborder="no" style="display:none" src="code.asp" name="getCode" id="getCode"></iframe>
<!--自定义代码到此结束,以下为原程序-->
3、修改目录/class下的cls_article.asp,将原代码
<td align="right" width="70">
<strong>验证码:</strong></td><td align="left" style="padding:3px;">
<input name="validate" type="text" size="4" class="userpass" maxlength="4" />
<%=getcode()%></td>
修改成
<td align="right" width="70">
<strong>验证码:</strong></td><td align="left" style="padding:3px;">
<input id="validate" name="validate" type="text" size="4" class="userpass" maxlength="4" ondblclick="getValidateCode()" />
<%=getcode()%></td>
这里一定要注意添加id="validate"否则在FF2.0不能达到预期效果
这里也有一个关于双击填写的http://bbs.pjhelp.cn/viewthread.php?tid=18851&highlight=%D1%E9%D6%A4%C2%EB
我觉得自动填写验证码很容易让人恶意刷屏灌水,双击的话既能减少工作量又能防水呢。
后续问题
存在一个问题就是,当你点击图片切换时验证码发生改变,而你双击输入框却还是第一次加载时的验证码。这是因为<iframe />没有自动刷新的缘故。要想避免这种情况的发生其实也比较简单,不过可能会再修改较多的代码。因此我这里没有考虑这个问题。如果我找到简单实现的方法我会及时在本方面修正。


猜你喜欢
- 本文为大家分享了VMWare linux安装mysql 5.7.13的教程,供大家参考,具体内容如下1、基础环境说明虚拟机:VMWare操作
- 本文实例讲述了微信小程序学习笔记之文件上传、下载操作。分享给大家供大家参考,具体如下:前面介绍了微信小程序登录API与获取用户信息操作。这里
- 本文实例为大家分享了js拖拽实现图形伸缩效果的具体代码,供大家参考,具体内容如下点击矩形的四个角和四个边实现不同的效果<!DOCTYP
- Python中编码问题:u'\xe6\x97\xa0\xe5\x90\x8d' 类型的转为utf-8的解决办法相信小伙伴们遇
- PyQt5表格控件QTableView简介在通常情况下,一个应用需要和一批数据进行交互,然后以表格的形式输出这些信息,这时就需要用到QTab
- 原理:使用js的定时任务函数setInterval设置时间,然后触发关闭事件参数说明title:提示框的标题msg:提示信息内容ico:显示
- 如下所示:from pymongo import MongoClient#建立和数据库系统的连接,指定host及port参数client =
- 一、mock.js的使用mock.js的使用步骤① 下载依赖 npm install mock -d(开发环境使用)② 引入到main.js
- 1.问题引入假设一个场景,一张用户表,包含3个字段。id,identity_id,name。现在身份证号identity_id和姓名name
- 前言开发某款app时,产品给的UI原型图上有个分为三段的圆环图,本来以为使用echarts应该会很好做的,主要考虑移动端echarts的兼容
- 我们经常在处理字符串时遇到有很多空格的问题,一个一个的去手动删除不是我们程序员应该做的事情,今天这篇技巧的文章脚本之家就来给大家讲一下,如何
- Matplotlib简述:Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D方面)。该项目是由JohnHunter于20
- unittest是python的一个单元测试框架关于断言它是用于对一个确定结果和预测结果的一种判断,如果结果正确无任何返回效果,如果结果错误
- Python + OpenCV 直接上代码import cv2 import numpy as np from matplotlib imp
- 子曰:“工欲善其事,必先利其器。”学习Python就需要有编译Python程序的软件,一般情况下,我们选择在Python官网下载对应版本的P
- Dataframe使用loc取某几行几列的数据:print(df.loc[0:4,['item_price_level',&
- 有时在项目中会遇到通过在页面中采用iframe的方式include其它页面,这时就会考虑不要因出现滚动条而影响页面效果,但include页面
- 背景np.loadtxt()用于从文本加载数据。文本文件中的每一行必须含有相同的数据。***loadtxt(fname,dtype=<
- 1、split()含义:split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
- 在用ThinkPHP做tags标签的时候,出现了一个问题,就是能获取到参数,但是查不出相应的结果。查看数据库发现数据是存在的。问题出在哪了呢