表单防止恶意提交的解决方法

很多站长在做织梦自定义表单的时候,会遇到一些恶心提交的垃圾信息,为了防止随意提交表单,可以在自定义表单设置必填项的功能,有两种方法处理
用默认的/plus/diy.php增加必填判断
大约在40行左右添加代码:
//增加必填字段判断
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
在自定义表单模板加入以下代码(value="自定义字段")
<input type="hidden" name="required" value="content,name,tel" />
用JS判断
红色部分为自定义字段
<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>织梦仿站模板</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>

</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>

南特大西洋设计学院怎么样
安徽福彩快三下载 四川时时连线走势图 双色球预测牛彩网彩摘网 闲来安徽麻将有作弊器吗 2019年特马历史开奖记录查询 新疆时时玩法大全 浙江快乐12开奖奖金 河北20选5走势图200期 陕西快乐十分助手手机版 上海时时综合走势图 极速时时结果表 白小姐今晚开奖结果查询 pk10冠军算法 河南快赢481开奖 黄大仙期期兔费六肖中特 时时计划群加