2018-09-21
在网站建设中,有些网站由于安全性不高,所以会受到攻击,陷入网站漏洞,我们今天就来看看,网站漏洞都有那些类型,以及如何解决这些网站漏洞。
第一、SQL注入漏洞
1、解决SQL注入漏洞的关键就是对用户输入数据进行严格检查,对数据的配置使用最小权限原则。
2、在所有的查询语句中都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是用户输入变量嵌入到SQL语句当中。
3、对进入数据的特殊字符进行转义处理,或者进行编码转换。
4、确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的储存字段必须对应int型。
5、数据库长度应该严格规定,能在一定程度上防止较长的SQL注入语句无法正确执行。
6、网站每个数据层的编码统一,建议全部使用utf-8编码,上下层编码不一致可能导致一些过滤模型被绕过。
7、严格限制数据库的操作权限,给用户提供仅仅能满足其工作权限,从而最大限度的减少注入攻击对数据的危害。
8.避免网站显示SQL数据信息,比如类型错误,字段不匹配等,防止攻击者利用这些错误信息进行一些判断。
第二、xss跨站脚本漏洞
1、假如所有的输入都是可疑的,就必须对所有的输入script、iframe等字样进行严格审查,这里的输入不仅仅是用户可以直接交互的输入接口,也包括其http请求中的cookie中的变量,http请求头部中的变量。
2、不仅要验证数据的类型还需要验证其格式长度,范围和内容。
3、不仅要在客户端做好数据的验证与过滤,关键的过滤步骤在服务端进行。
4、对输入的数据也需要检查,数据路的里的值有可能会在一个大网站的多处有输出,即使输入了编码等操作,在各处的输出点也要进行安全检查。
第三、页面存在的代码泄露
1、配置好服务端语言解析,防止解析失败从而导致源码泄露。
2、关闭网站错误调试机制,防止因为报错而导致源码泄漏。
3、网站存在备份文件,删除检查出的备份文件,或者将这份文件从网站目录下移走。
网站存在的Resin任意文件读取泄漏,删除resin_doc相关目录与文件。
网站存在PHPINFO文件,删除检测出的PHPINFO文件。
网站存在的日志信息文件,删除检测出的日志信息文件。页面上存在的数据库信息,关闭数据库的错误信息调试机制,防止因为SQL语句错误导致数据报错信息显示到页面上。
在网站建设服务中,也需要了解和属性网站被攻击的可能性,做好安全防范措施。