您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程
DedeCMS防止恶意提交自定义表单设置为必填项的方法
梦曼2023-09-17DedeCMS教程已有人查阅
导读许多企业网站会有提交订单的功能,dedecms自定义表单制作就能满足,为了防止用户恶意提交表单,可以在自定义表单的字段设置必填项或者判断输入的值是否符合规定的功能
许多企业网站会有提交订单的功能,dedecms自定义表单制作就能满足,为了防止用户恶意提交表单,可以在自定义表单的字段设置必填项或者判断输入的值是否符合规定的功能,主要有两种方法处理:修改表单源文件(不灵活,一个网站有可能提交多个表单);JS判断输入值(推荐)。
用默认的/plus/diy.php增加必填判断 大约在40行左右找到如下代码,
用默认的/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>
本文标签:
很赞哦! ()
相关教程
图文教程
通过dede系统制作下载站的方法
大家都知道现在的SEO行业竞争非常激烈当然站长也都在为自己找出路有的选择了资讯站有的选择了图片站有的选择了论坛有的选择了电商如今我们来讲讲另外一种网站
DedeCMS核心类TypeLink.class.php摘要记录分享
注://+ 表示为本人另外加上的注释Class TypeLink{var $typeDir;var $dsql;var $TypeID; //+ 类别ID
织梦cms模板内加入php代码的方法
织梦模板支持php代码,虽然不能完全像写php页面那样,但是基本的东西还是够了。一、模板页面内嵌入php例如:{dede:name runphp=yes}
dedecms系统目录结构和常用术语介绍
DedeCMS系统目录结构install: 系统安装目录ask:问答模块目录book:书库模块目录group:圈子模块目录company:企业库目录ded
相关源码
-
帝国cms淘宝客京东联盟网站整站源码下载本模板基于帝国CMS内核深度开发,为淘宝客行业量身定制。随着腾讯微信与淘宝生态的互联互通,淘宝客链接现可在微信、QQ等平台直接分享,为推广带来更多便利。模板特别优化了店铺推广功能,有效避免商品下架导致的链接失效问题,同时支持京东联盟等多平台商品推广。查看源码 -
(自适应)互联网建站网络公司个人工作室网站模板基于PbootCMS内核开发,围绕「技术方案展示」「成功案例库」「服务流程说明」三大模块构建,支持PC与移动端数据实时同步。附带包含客户评价、行业解决方案的完整测试数据包查看源码 -
(PC+WAP)楼承板建筑工程合金钢铁材料pbootcms网站源码下载为楼承板生产商及建筑工程企业设计的响应式网站模板,采用PbootCMS内核开发,同步适配电脑与移动设备浏览。通过模块化结构展示工程案例、产品参数等专业内容,帮助建筑建材企业建立标准化数字展示平台,提升行业专业形象。查看源码 -
(自适应)工商代理公司注册财务会计pbootcms模板免费下载为工商代理、财务会计服务企业设计的网站模板,基于PbootCMS开发,充分考虑了企业服务行业的展示需求与客户转化路径。设计风格专业严谨,布局清晰合理,呈现企业服务内容与专业优势。查看源码 -
帝国CMS游戏应用APP推广下载站模板免费下载本模板为移动应用推广、手机游戏推广行业设计,集成H5游戏平台与APP下载功能,支持PC端与移动端自适应访问。专注于为应用开发商、游戏发行商提供专业的线上推广展示平台。查看源码 -
(带手机版)绿色生态农业种植农产品网站pbootcms源码下载本模板基于PbootCMS内核开发,为生态农业企业量身打造,适用于农业种植、有机农场、农产品电商等业务场景。模板设计充分体现绿色环保理念,突出农业特色,同时保持简洁大气的视觉效果,帮助农业企业建立专业形象。查看源码
| 分享笔记 (共有 篇笔记) |