dedecms 表单验证和验证码

一般表单都需要验证字段和防止恶意提交

1)验证字段:

找到项目根目录下的plus/diy.php,在59行有个if(!empty($dede_fields))这个判断里面就可以添加我们验证字段的代码了,示例:

/*验证表单字段*/

                 if ($nickname == '') {  //昵称不能为空

                    ShowMsg('昵称不能为空','-1',0,1000);  

               exit;               

                 } elseif (!preg_match("/^1[34578]\d{9}$/", $clientele_tell) ){

                    ShowMsg('请输入正确的手机号','-1',0,1000);  

               exit;

                 } elseif (!is_numeric($clientele_qq) ) {

                    ShowMsg('请输入正确的QQ','-1',0,1000);  

               exit;

                 } elseif ( empty($message) ) {

                    ShowMsg('留言不能为空','-1',0,1000);  

               exit;

                 }else{

$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); "; //sql
}

2)验证码:

在前端验证码的地方添加代码:

<input name="validate" type="text" id="vdcode"style="text-transform:uppercase;width:100px" size="8"/>

<img id="vdimgck" align="absmiddle"onClick="this.src=this.src+'?'" style="cursor: pointer;"alt="看不清?点击更换"src="/include/vdimgck.php"/>

建议代码中的name名validate不能更改

 

再找到项目根目录下的plus/diy.php,在59行有个if(!empty($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;

                 }

posted @ 2018-02-26 10:28  吃西瓜不吐西瓜籽  阅读(263)  评论(0编辑  收藏  举报
Live2D