织梦自定义表单是非常实用的工具,比如在线留言、提交订单等,但是如何加入验证码?防止恶意提交等。遇到添加验证码的问题,跟大家来分享一下。
添加验证码验证,在页面中添加验证码相关的表单:
<input name="validate" type="text" id="vdcode" style="text-transform:uppercase;" size="8"/> <img id="vdimgck" class="yzmimg" align="absmiddle" onClick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?点击更换" src="/include/vdimgck.php"/> <a href="javascript:vide(-1);" onClick="changeAuthCode();">看不清? </a> |
在网页底部</body>前添加以下代码:
<script type="text/javascript" language="javascript"> //验证码 function changeAuthCode() { var num = new Date().getTime(); var rand = Math.round(Math.random() * 10000); num = num + rand; $('#ver_code').css('visibility','visible'); if ($("#vdimgck")[0]) { $("#vdimgck")[0].src = "/include/vdimgck.php?tag=" + num; } return false; } </script> |
在网站安装目录下编辑plus/diy.php文件,找到代码:
$fieldarr = explode(';', $dede_fields);
在这句代码上面添加以下代码:
//新增验证码 $validate = empty($validate) ? '' : strtolower(trim($validate)); $svali = strtolower(GetCkVdValue()); if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)) {ResetVdValue(); ShowMsg('验证码不正确!',-1,0,1000); exit();} //end |
到这就算把表单提交做好了。
以上这段代码,测试为正确版。网络上很多流传的,虽然设置可以,但试过的人就知道,测试验证码不正确时,还是会提交留到后台。形同虚设,自欺欺人!