织梦DedeCMS的自定义表单如何进行号码邮箱等数据校验,并且过滤一些无聊或者别有用心的用户提交的垃圾信息。提高织梦系统的安全性,防止恶意提交的方式

步骤一:前端js判断号码邮箱等格式验证
<form action="/plus/diy.php" enctype="multipart/form-data" method="post" name="gbook" onsubmit="return saveIt();"> <input type="hidden" name="action" value="post" /> <input type="hidden" name="diyid" value="1" /> <input type="hidden" name="do" value="2" /> <input name="name" id="name" type="text" placeholder=" 姓名:" /> <input name="tel" id="tel" type="text" placeholder=" *:" /> <input name="mail" id="mail" type="text" placeholder="邮箱:" /> <textarea name="nr" id="nr"></textarea> <input type="submit" name="submit" value="提交" /> <input type="reset" name="reset" value="重置" /> <input type="hidden" name="dede_fields" value="name,text;tel,text;mail,text;nr,multitext" /> <input type="hidden" name="dede_fieldshash" value="657cee014gga977ca8ef4965fjh7469a" /> </form>
<!--表单提交*邮箱等数据验证-->
<script language="JavaScript" type="text/javascript">
function saveIt()
{
with(gbook)
{
if (name.value=="")
{
alert('请填写姓名!');
name.focus();
return false;
}
if (tel.value=="")
{
alert('请填写手机号!');
tel.focus();
return false;
}
var myreg = /^((1[0-9][0-9]{1})+\d{8})$/;
if(!myreg.test($("#tel").val()))
{
alert('请填写正确的手机号码!');
tel.focus();
return false;
}
if (mail.value.length!=0)
{
if(
mail.value.charAt(0)=="."||
mail.value.charAt(0)=="@"||
mail.value.indexOf('@')==-1||
mail.value.indexOf('.')==-1||
mail.value.indexOf("@")==mail.value.length-1||
mail.value.lastIndexOf(".")==mail.value.length-1
)
{
alert('邮箱地址格式不正确!');
mail.focus();
return false;
}
}
if (nr.value.length>150)
{
alert('留言内容太多!');
nr.focus();
return false;
}
}
}
</script>
*步这个只是前端网页的数据验证,只能防范一些不懂网站制作的用户,稍微懂些程序的用户,就可以绕开前台直接向系统提交数据,这就需要在提交的地址diy.php文件里进行相应的数据校验了。比如校验用户提交的某个字段是否是手机号、邮箱等。我们可以采用PHP正则表达式来进行验证,修改方法如下:
打开plus/diy.php文件找到以下代码:
if(!is_array($diyform))
{
showmsg('自定义表单不存在', '-1');
exit();
}
在下面添加一下代码:
//判断手机号码是否正确
if(!eregi("^((13[0-9])|147|(15[0-35-9])|180|182|(18[5-9]))[0-9]{8}$",$tel))
{ showMsg('手机号码不对,请正确填写', '-1');
exit();
}
//验证邮箱
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$mail))
{showMsg('请您填写正确的E-Mail 地址!', '-1');
exit();
}
解决以上问题之后,还有一个问题,就是某些用户有意或者无意的提交了多次表单,这也会给信息收集工作带来巨大的压力,所以我们也要努力地降低这个方面的工作量。我们可以采用验证Cookies方法,达到织梦DedeCMS自定义表单限制IP24小时只能发布一次功能。
步骤二:紧接着第二步添加代码的下面加入以下代码
//检测游客是否已经提交过表单
if(isset($_COOKIE['VOTE_MEMBER_IP']))
{
if($_COOKIE['VOTE_MEMBER_IP'] == $_SERVER['REMOTE_ADDR'])
{
ShowMsg('您已经填写过表单啦','-1');
exit();
} else {
setcookie('VOTE_MEMBER_IP',$_SERVER['REMOTE_ADDR'],time()*$row['spec']*3600,'/');
}
} else {
setcookie('VOTE_MEMBER_IP',$_SERVER['REMOTE_ADDR'],time()*$row['spec']*3600,'/');
}当然,经过以上的操作,织梦DedeCMS的自定义表单并不是就完全的安全了,别人还可以清空Cookies或者使用VPN之类的软件等进行继续重复提交,不过这些就不需要考虑那么多了,毕竟道高一尺魔高一丈,不可能百分百完美的。
# 可爱图标网站建设
# 还有一个
# 会给
# 互联网营销短视频推广策略
# 加盟网站建设推广
# 茂名全网网站建设
# 铜陵seo公司便捷火星
# 芜湖谷歌seo方案分析
# 黄山seo网站优化报价
# 达观数据网站建设
# 社旗网站推广公司十强
# 哈尔滨品牌网站建设报价
# 不存在
# 网站建设tiktok
# seo博客广告
# 眉山网站建设哪个好
# 移动优化网站有什么用
# 青州企业网站建设推广
# 漳州网站推广和内容
# 青岛网站建设路美食
# 设计影响seo因素
# 淮北康乐社区网站建设
# 大陆推广营销
# 太多
# 过滤垃圾信息
# 织梦CMS教程
# 织梦自定义表单
# 自定义表单
# 号码邮箱验证
# 宋体
# 表单
# 自定义
# 请填写
# 我们可以
# 不可能
# 织梦自定义表单加入号码邮箱格式验证
# 还可以
# 也要
# 就不
# 那么多
# 请您
# 不懂
# 这也
# 这就
# 别有用心
# 留言内容
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化91478 】
【
技术知识72672 】
【
云计算0 】
【
GEO优化84317 】
【
优选文章0 】
【
营销推广36048 】
【
网络运营41350 】
【
案例网站102563 】
【
AI智能45237 】
相关推荐:
建站之星代理平台如何选择最佳方案?
广东企业建站网站优化与SEO营销核心策略指南
织梦dedecms手机搜索跳转到手机搜索模板教程_织梦CMS教程
通过简单安全设置,防止别人盗用织梦dedecms模板_织梦CMS教程
织梦数据保存到数据库附加表 `dede_addonarticle` 时出错*解决方法_织梦CMS教程
建站之星与建站宝盒如何选择最佳方案?
如何生成腾讯云建站专用兑换码?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
织梦dedecms程序https改造教程_织梦CMS教程
织梦让广告延时加载显示,网站主要内容打开后才开始加载广告_织梦CMS教程
dedecms织梦二次开发独立点赞功能_织梦CMS教程
孙琪峥织梦建站教程如何优化数据库安全?
织梦后台文章编辑器一片空白解决方法_织梦CMS教程
织梦数据库批量修改替换文章标题和内容方法_织梦CMS教程
phpcms v9实现文章后面添加new图标_PHPCMS教程
建站优选虚机推荐_高性价比配置指南 快速搭建方案
dedecms织梦首页列表页调用文章从指定位置开始调取_织梦CMS教程
dedecms织梦描述description长度限制修改方法_织梦CMS教程
dedecms织梦ckplayer视频播放器插件详细安装教程_织梦CMS教程
织梦*新发表的文章在24小时内标题显示红色_织梦CMS教程
织梦多行多列图集在模板中调用缩略图_织梦CMS教程
建站之星配置系统填写指南与颜色字体自定义技巧
织梦做英文站分页、当前位置设置英文教程_织梦CMS教程
织梦dedecms会员中心发布图集缩略图失败解决方法_织梦CMS教程
织梦DedeCMS二次开发教程之创建数据表_织梦CMS教程
建站之星模板安装失败如何排查服务器环境?
如何获取开源自助建站系统免费下载链接?
广州商城建站系统开发成本与周期如何控制?
本地安装配置PHP环境phpnow1.5.6教程_织梦CMS教程
织梦首页调用指定一篇文章body内容的方法_织梦CMS教程
如何在阿里云完成域名注册与建站?
织梦dedecms自带文本编辑器ckeditor更换为kindeditor编辑器带代码高亮_织梦CMS教程
织梦新手十分钟学会织梦网站建设*教程_织梦CMS教程
如何用花生壳三步快速搭建专属网站?
织梦实现调用select下拉式友情链接列表_织梦CMS教程
织梦清空文章后发布新文章ID从1开始_织梦CMS教程
如何通过.red域名打造高辨识度品牌网站?
建站之星智能模板:企业官网搭建与SEO优化一站式解决方案
dedecms织梦uploadsafe.inc.php上传漏洞解决方法_织梦CMS教程
建站助手多站点配置指南:多语言生成与多域名管理技巧
如何在云虚拟主机上快速搭建个人网站?
织梦使用kindeditor编辑器后批量上传图片无法加水印_织梦CMS教程
香港服务器部署网站为何提示未备案?
织梦调用文章所属的副栏目id及副栏目名称网址链接教程_织梦CMS教程
常州自助建站费用包含哪些项目?
广州美橙建站如何快速搭建多端合一网站?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
建站云服务器如何选?阿里云、腾讯云哪家强?
织梦图集上传图片用图片名自动做注释教程_织梦CMS教程
dedecms织梦有缩略图则显示缩略图,没有则显示随机缩略图_织梦CMS教程
2018-04-13
南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。