首页 > 新闻动态 > 建站知识 > 内容

表单设计中如何有效的防止恶意提交信息

发布时间:2015-01-24 18:17:50    来源:郑州网站建设 贝斯特网络    作者:贝斯特网络    浏览量:   

在表单设计中,经常会遇到被提交垃圾信息,怎样有效的防止垃圾信息的提交呢?贝斯特网络根据多年的经验和实践,现在和大家分享一下。

第一、启动验证码

启用验证码可以有效的防止机器人和被恶意的提交。验证码不要纯数字,纯数字的容易被程序识破。

机器人和程序的识别在提高我们验证码的设计也要与时俱进。

比较流行的做法有:

1、数字加英文字母,有干扰线。或者验证的字符是字号很大,干扰的字符很少。

2、中文验证码,或者中文成语的拼音首字母。

3、也可用运算算数运算,如 贰 + 叄 = ?。 验证的内容的算数的阿拉伯数字。

4、出一穿数字或者英文选择颜色的不同的。

所以办法总比问题多,只要细心,验证码是不容易被识破的。

第二、前端js 预判断。

一般的用户都会开启js,js在浏览器端,可以预判断,可以有效减少服务端的压力。当然如果客户端,禁用js,那么js判断就不生效了。只能靠服务器识别了。

第三、表单中添加隐藏字段,防止sql注入。

表单中添加隐藏字段,提交的时候,后台程序判断,隐藏字段存在,且等于我们给赋的值,才能进行后续的流程操作。如:  后端判断的时候,先判断比较的表单中是否含有 "input_reg_fieldshash 且值为 b5b1076da82d16ebfab9b2bd6f16004a 。这样就可以有效的防止sql注入。

 

第四、服务端判断

服务端先对前台提交的数据预处理,

如:

$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$tel   = htmlspecialchars($_POST['tel']);
$company    = htmlspecialchars($_POST['company']);
$content = htmlspecialchars($_POST['content']);

这样可以有效的防止恶意字符,暴库等。

再判断提交的额数据是否为空,不为空的话,再进行正则处理,是否是我们想要的数据类型,不是的话,弹出警告,退出后续的流程。

第五、ip的判断,每个ip提交的数据间隔。

有的时候一个ip恶意刷新和提交,这个时候怎么办,有限的方法的限制 ip的提交时间间隔,如10分钟可以提交一次。 这个时候就要从数据库中获取保存的客户端ip,然后比对,如果存在,再判断时间间隔。这个需要数据库配合完成的。


相信通过以上几点的设置,网站被恶意灌水的情况,能得打很大的缓解和改观。

本文为原创文章,转载请注明处理谢谢 ! 郑州网站建设 贝斯特网络 http://www.hnbest.com

本站关键词:表单 设计 程序
延展阅读

在线客服

  • 我们竭诚为您服务!
  • 我们竭诚为您服务!
  • 我们竭诚为您服务!
  • 电话:400-8631-789

售后服务

  • 我们竭诚为您服务!
  • 电话:400-8631-789