织梦中自定义表单添加验证码

使用织梦dedecms的自定义表单过程中,自定义表单是非常实用的工具,比如在线留言、提交订单等,但是如何加入验证码,防止恶意提交呢?

1、首先找到自定义表单的模板。这个在后台自定义表单可以看到模板名称。

2、在模板中加入验证码代码。

<input name="validate" type="text" id="vdcode" style="text-transform:uppercase;" size="8"/>
<img id="vdimgck" align="absmiddle" onClick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?点击更换" src="../include/vdimgck.php"/>
<a href=”javascript:vide(-1);” onClick=”changeAuthCode();”>看不清? </a>

3、在模板页添加JS代码。    //此段代码是控制步骤2中最后一行代码,其实步骤2中已经加入了点击图片即可切换验证码的功能,可以省略步骤2中的最后一行代码,那么此步骤3.可以省略。

<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; }  //vdimgck.php文件是织梦自带的,直接引用即可
return false;
}</script>

4、打开网站根目录/plus/diy.php文件, 添加验证代码到第61行左右位置,在服务器进行验证。

$validate = empty($validate) ? '' : strtolower(trim($validate));
  
$svali = strtolower(GetCkVdValue());
 
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen))
  
{ResetVdValue();
  
ShowMsg('验证码不正确!',-1,0,1000);
  
exit();}
原文地址:https://www.cnblogs.com/kiimi/p/8467334.html