验证码表现类

近一段时间网上对BLOG恶意评论与引用越来越猖狂,真是太可恶了,提交需要验证码也不能阻止,真是气死我了. 想想原因,还是在验证码上,网上传说那些机器人可以分析验证码图片,真是太牛X了,但是你分析出来了也还是要提交的,对,就从输入框这下手,阻止他们!! 这招还真管用,我的BLOG自从换了验证码输入形式以后,几乎没有了机器人提交的东西,呵呵.下面给大家分享一下,希望为清理网络环境出一点力!

// JavaScript Document===验证码表现类
/*
///////////////////////////////////////////////////////////////////////////////
Jena’s Blog
作 者: 迦楠(Jena.want)
版权所有: IsHere.cn
技术支持: jena.want@gmail.com
单元名称: JENAValidCode
开始时间: 2007-5-30
最后修改:
参 数: instanceName-输入框名称;imgUrl-验证码程序地址;inputAmount-验证码位数.
备 注: 这是一个验证码表现类,支持内嵌各种类型的验证程序(gif,bmp…)
///////////////////////////////////////////////////////////////////////////////
*/
var inputsAmount;
function JENAValidCode(instanceName,imgUrl,inputAmount,inputStyle){
this.InstanceName = instanceName || ‘CheckCode’;
this.ImgUrl = imgUrl || ‘CheckCode.asp’;
this.InputAmount = inputAmount || 4;
this.InputStyle = inputStyle || ‘text’;

inputsAmount=this.InputAmount;
}
JENAValidCode.prototype.Create=function(){
var strs=””;
strs+= “<input name=””+ this.InstanceName +”” type=”hidden” id=””+ this.InstanceName +”” />”;
for(var i=1;i<=this.InputAmount;i++){
if(i==1){
strs+= “<input name=”scode1″ id=”scode1″ maxlength=”1″ type=”text” class=””+ this.InputStyle +”” onKeyUp=”javascript:if(this.value!=”&&scode”+ (i+1) +”.value==”){scode”+ (i+1) +”.style.display=”;scode”+ (i+1) +”.focus();this.style.borderRight=’0px’;}”+ this.InstanceName +”.value=MusterValue()” style=”text-align:center; width:14px;” />”;
}else if(i==this.InputAmount){
strs+= “<input name=”scode”+ i +”” id=”scode”+ i +”” maxlength=”1″ type=”text” class=””+ this.InputStyle +”” style=”display:none;text-align:center; width:14px; border-width:1px 1px 1px 0px” onKeyUp=”javascript:”+ this.InstanceName +”.value=MusterValue()” />”;
}else{
strs+= “<input name=”scode”+ i +”” id=”scode”+ i +”” maxlength=”1″ type=”text” class=””+ this.InputStyle +”” style=”display:none;text-align:center; width:14px; border-width:1px 1px 1px 0px” onKeyUp=”javascript:if(this.value!=”&&scode”+ (i+1) +”.value==”){scode”+ (i+1) +”.style.display=”;scode”+ (i+1) +”.focus();this.style.borderRight=’0px’;}”+ this.InstanceName +”.value=MusterValue()” />”;
}
}
strs+= ” <img src=””+ this.ImgUrl +”? + Math.random()” id=”secCode” align=”absmiddle” />”;
strs+= “<span style=”font-family:Verdana;font-size:9px;cursor:pointer;” onclick=”javascript:document.getElementById(‘secCode’).src='”+ this.ImgUrl +”?’ + Math.random();scode1.value=”;scode1.focus();”
for(var i=2;i<=this.InputAmount;i++){
strs+=”scode”+ i +”.value=”;”
}
strs+=””> Another</span>”;
document.writeln(strs);
//return strs;
}
function MusterValue(){
var mustervalue=””;
for(var i=1;i<=inputsAmount;i++){
mustervalue+=document.getElementById(“scode”+i).value
}
return mustervalue;
}

1 Comment

 Add your comment
  1. 真的破不了吗?我试下

Leave a Comment

Your email address will not be published.

*