通过前面的学习我们知道了 http 协议是用于网络通信的,因此不论是程序开发人员还是使用程序的用户,对信息的安全都应该特别注意。面对各种各样的风险,就需要有针对的方法来应对,本节就为大家介绍一些常见的安全风险以及应对技巧。
个人信息泄露
通常我们都需要在浏览器中输入一些个人信息,例如:用户名、邮箱、密码、手*号等等,因此用户在输入或者提交个人信息的时侯应该特别小心,防止将个人信息通过 http 协议意外泄露。
下面列举了一些简单实用的保护个人信息的方法:
所有机密信息(例如密码)都应该经过加密后再存储到服务器端;
注意隐藏服务器软件的版本、目录结构等信息,防止有人利用已知的安全漏洞攻击服务器;
为服务器安装防火墙,提升服务器抵御攻击的能力;
出于安全考虑,有时站点需要用户登陆后才可以浏览站点的内容,为了减少信息泄露的风险,可以在本地(cookie)保存用户的登陆信息,减少用户的登陆次数;
不要使用 get 请求来提交敏感的表单数据,因为 get 请求会将表单数据展示在 url 中,非常不安全。
基于文件和路径名的攻击
对服务器上的资源要设置好浏览权限,禁止敏感路径的访问,例如服务器的配置文件、各种日志文件等。确保用户只能通过我们提供的路径来浏览站点的内容,拒绝响应不合理的请求。
在 windows、unix 或者其它的一些操作系统中可以使用“..”做为上一级目录的访问路径,如果服务器搭建在此类系统上,就要禁止在请求中添加“..”来获取服务器资源。
dns欺骗
dns(域名服务)欺骗就是攻击者冒充域名服务器的一种欺骗行为。 其原理就是,如果攻击者可以冒充域名服务器,然后攻击者可以把查询的 ip 地址设为攻击者提供的 ip 地址,这样的话,用户上网就只能看到攻击者的百家乐凯发k8主页,而不是用户想要浏览的网站百家乐凯发k8主页了。dns 欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替。
由于 http 客户端严重依赖 dns,所以特别容易受到此类攻击。如果客户端为了提升性能而使用了缓存技术的话,那么客户端必须观察 dns 报告的 ttl 信息,当访问的服务器 ip 发生改变时就需要特别注意了。
本地保存的密码
现在的很多浏览器都可以在本地永久保存用户的身份信息(账号和密码),而且不论是客户端还是服务器都不会提醒用户来删除这些信息,这就造成了很大的安全风险。面对此类问题其实有很多解决方法,比如在我们不使用电脑的时候将其锁定,需要输入密码才能解锁;或者设置屏幕保护程序并设置在恢复时需要重新登陆等等。