DedeCMS表单恶意提交的情况时有发生,一般有人工恶意提交和机器额已提交两种,给站长们造成许多困扰。前面写过几篇关于表单的文章,下面采用增加表单提交验证码的方式实现放置恶意提交表单的功能。
打开对应的表单提交的模板,在<form>表单里面增加如下代码
<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"/> <span onClick="changeAuthCode();">看不清?</span> |
在</body>之前增加JS代码
<script type="text/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('验证码不正确!',$dede_add,0,1000); echo '<script language="javascript">history.go(-1);</script>'; exit();//结束不提交 } |
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)