使用织梦Dedecms自定义表单的时候,即使你做了字段的验证,也很有可能被人刷很多垃圾的内容,更加安全的一个方法是为自定义表单添加上验证码功能。今天我就来为大家分享一下怎样给自定义表单添加验证码!
一、添加表单验证码
首先登录网站后台,找到你自定义表单的管理(修改)页面,你会看到表单发布时调用的模板,如下图:
这个模板位于 /templets/plus/ 目录下,我们打开相应的模板,在
echo $postform;
?>
之后,之前加入如下代码:
验证码:保存。
然后刷新一下表单提交页面看看,是不是已经出现了验证码?
二、对输入验证码进行校验
下面我们要做的就是对验证码进行验证。打开 /puls/diy.php 页面,在 elseif($do == 2) { 里添加如下代码(一定要位于这个大括号里的最前面):
elseif($do == 2)
{
$validate = empty($validate) ? '' : strtolower(trim($validate));
$svali = strtolower(GetCkVdValue());
$backurl = 'diy.php?action=post&diyid=1';//这里换成你表单的地址
if($validate=='' || $validate != $svali){
ResetVdValue();
ShowMsg('验证码不正确!',$backurl,0,1000);
exit;
}
保存即可。再次刷新一下表单,提交测试下~~
提示:1. 把代码加到 diy.php 中,你所有的自定义表单模板都需要加上验证码,没加的会提示“验证码不正确”;当然,你也可以根据 $diyid 来设置是否进行验证码校验。2. 第二段代码中的 $backurl 可以直接写成 -1,这时候必须把 ResetVdValue(); 去掉,否则会一直提示“验证码不正确”,因为 $backurl 写成 -1 时,表单返回上一个页面,验证码图片并没有刷新,而 ResetVdValue(); 又会把已保存的验证码值清空,导致校验失败。