您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程

DedeCMS防止恶意提交自定义表单设置为必填项的方法

梦曼2023-09-17DedeCMS教程已有人查阅

导读许多企业网站会有提交订单的功能,dedecms自定义表单制作就能满足,为了防止用户恶意提交表单,可以在自定义表单的字段设置必填项或者判断输入的值是否符合规定的功能

许多企业网站会有提交订单的功能,dedecms自定义表单制作就能满足,为了防止用户恶意提交表单,可以在自定义表单的字段设置必填项或者判断输入的值是否符合规定的功能,主要有两种方法处理:修改表单源文件(不灵活,一个网站有可能提交多个表单);JS判断输入值(推荐)。
用默认的/plus/diy.php增加必填判断 大约在40行左右找到如下代码,
$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
后面添加添加代码:
//增加必填字段判断
if($required!=''){
if(preg_match('/,/', $required))
   {
       $requireds = explode(',',$required);
       foreach($requireds as $field){
           if($$field==''){
               showMsg('带*号的为必填内容,请正确填写', '-1');
               exit();
           }
       }
   }else{
       if($required==''){
           showMsg('带*号的为必填内容,请正确填写', '-1');
           exit();
       }
   }
}
//end
在自定义表单模板找到
<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
下面加入以下代码(value="自定义字段")
<input type="hidden" name="required" value="content,name,tel" />
用JS判断 红色部分为自定义字段,把以下代码放在</head>之前,
<script type='text/javascript'>
<!-- 
$(document).ready(function() 
{ 
//验证 
$('#complain').submit(function () 
{ 
if($('#name').val()==""){ 
$('#name').focus(); 
alert("用户名不能为空!"); 
return false; 
} 
if($('#tel').val()=="") 
{ 
$('#tel').focus(); 
alert("联系电话不能为空!"); 
return false; 
} 
if($('#title').val()=="") 
{ 
$('#title').focus(); 
alert("标题不能为空!"); 
return false; 
} 
if($('#text').val()=="") 
{ 
$('#text').focus(); 
alert("具体内容不能为空!"); 
return false; 
} 
}) 
}); 
-->
</script>
上面只能判断数值是否为空,结合正则表达式,能准确判断输入的表单信息是否为规定格式数据。举例说明:
<script type="text/javascript">
  $(function(){
  $(".btn").click(function(){
  var myNum=/^[\u4e00-\u9fa5]+$/;
 if(myNum.test($("#name").val())){}else{alert("请输入中文名字");return false;};
  var myNum=/^[\u4e00-\u9fa5]+$/;
 if(myNum.test($("#xq").val())){}else{alert("请输入小区中文名字");return false;};
  var mymj=/^([1-9][0-9]{1,3})+(.[0-9]{1,4})?$/
 if(mymj.test($("#mj").val())){}
 else{alert("户型面积请输入首位不为零并且在2-4位的有效数字有效数字");return false;};
  var myphone=/^\d{8,11}$/
 if(myphone.test($("#phone").val())){}
 else{alert("电话位数在8-11位");return false;};
 if($("input[type=text]").val()==''){alert("文本框不能为空!");return false;}
 else {alert("发布成功!请保持电话畅通!客服人员会在24小时之内与您联系!");return true;}});});
</script>
前台部分实例
<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
    <input type="hidden" name="action" value="post" />
    <input type="hidden" name="diyid" value="1" />
    <input type="hidden" name="do" value="2" />
    <div class="tuancon">
     <h3>重庆装修团购申请,立省5000元</h3>
     <div class="tuancon_L">
      <p><label>我的称呼<em>*</em></label><input class="form1" type="text" name="name" id="name"/></p>
      <p><label>我的小区<em>*</em></label><input class="form1" type="text" name="xq" id="xq"/></p>
      <p><label>联系电话<em>*</em></label><input class="form1" type="text" name="phone" id="phone"/></p>
      <p><label>Q       Q  </label><input class="form1" type="text" name="qq" id="qq"/></p>
     </div>
     <div class="tuancon_R">
      <p><label>户型面积<em>*</em></label><input class="form1" type="text" name="mj" id="mj"/></p>
      <p><label>卫生间数</label>
         <select name='wc'>
          <option value='1个'>1个</option>
          <option value='2个'>2个</option>
          <option value='2个以上'>2个以上</option>
         </select>
      </p>
      <p><label>阳台面积</label><input class="form1" type="text" name="ytmj" id="ytmj"/></p>
      <p><label>喜欢风格</label>
        <select name='fg'>
         <option value='现代简约风格'>现代简约风格</option>
         <option value='地中海风格'>地中海风格</option>
         <option value='简欧风格'>简欧风格</option>
         <option value='欧式风格'>欧式风格</option>
         <option value='中式风格'>中式风格</option>
         <option value='美式风格'>美式风格</option>
         <option value='后现代风格'>后现代风格</option>
         <option value='新古典风格'>新古典风格</option>
         <option value='其他风格'>其他风格</option>
        </select>
       </p>
      </div>
      <div class="clear"></div>
      <div class="sheng_box"><input class="btn1" type="submit" value="免费申请装修"/></div>
      <input type="hidden" name="dede_fields" value="xq,text;fg,select;name,text;phone,text;mj,float;qq,int;wc,select;ytmj,int" />
      <input type="hidden" name="dede_fieldshash" value="c53edcf88ed9787e2fe3266b16e2778a" />
     </div>
    </form>

本文标签:

很赞哦! ()

相关源码

  • 自适应黑色建筑装饰设计公司个人工作室pbootcms模板基于PbootCMS内核开发的黑金风格模板,为建筑装饰、工程设计类企业打造,采用‌开源架构‌,支持跨行业快速适配,核心优势如下: 查看源码
  • (自适应)文案文档作文写作word资源网站模板下载本模板基于PbootCMS系统深度开发,针对电影解说、文案分享类网站的特殊需求设计。采用响应式布局技术,确保在手机端和桌面端都能呈现专业的内容展示效果,帮助运营者高效管理影视解说资源。查看源码
  • (自适应)变压器电子元器件电器配件pbootcms网站模板源码为电子元器件企业打造的响应式网站模板,基于PbootCMS内核开发,助力企业快速构建专业级线上展示平台。支持页面独立设置标题、关键词和描述,内置SEO友好结构。PHP程序确保运行安全稳定,有助于提升搜索引擎收录效果。查看源码
  • (自适应响应式)蓝色勘察设计院机构单位商会协会pbootcms模板下载本模板基于PbootCMS系统开发,为勘察设计院所、工程咨询单位设计,特别适合展示设计成果、技术服务和项目案例。采用响应式技术,确保设计图纸和方案以及文案在不同设备上都能清晰展示。查看源码
  • pbootcms源码宠物类网站源码下载(自适应多端)为宠物装备商店、宠物食品及用品企业打造的营销型模板,基于PbootCMS内核深度开发。采用响应式设计实现PC与移动端适配,PHP7.0+高性能架构支持MySQL/SQLite双数据库查看源码
  • 自适应营销型IT网络工作室互联网建站公司pbootcms网站模板为IT网络服务商、建站企业打造的高性能营销门户,基于PbootCMS开源内核深度开发采用HTML5自适应架构,实现PC与手机端数据实时同步交互。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐