发布时间:2017-05-31 14:13:50 文章来源:互联网
微博 微信 QQ空间
    想要开发出一个安全的、健壮的Web应用其实是非常困难的,如果你觉得这实现起来非常简单的话,那么你一定是一个X炸天的程序猿,要么你就是在白日做梦……

    写在前面的话
 
    如果你觉得你可以在一个月之内开发出一款集使用价值、用户体验度、以及安全性为一身的产品,那么在你将产品原型真正推上市场之前,请一定要三思啊!
 
    当你仔细核查了本文给出的安全小贴士之后,你可能会发现你在产品的开发阶段跳过了很多重要的安全步骤。有的时候,也许你应该对你的用户坦诚一点,你应该诚实地告诉他们这款产品还没有完全搞定,还有很多的安全问题亟待解决。
 
    下面的这份速查表非常简洁,而且绝对还有很多东西没有涉及到。就我个人而言,我从事安全Web应用开发工作已经超过14年了,而本文给出的小贴士都是让我在过去一段时间里曾痛苦不堪的重要安全问题。我希望大家可以认真对待,不仅是对用户负责,也要对自己的职业生涯负责。
 
    数据库篇
 
    1、对类似访问令牌、电子邮箱地址或账单详情进行加密处理,尤其是用户的身份识别信息(密码)。
 
    2、如果你的数据库支持低成本加密,请确保开启这项功能并保护主机磁盘中的数据。与此同时,确保所有的备份文件都进行了加密存储。
 
    3、按照最小权限原则给数据库访问账号分配权限,不要使用数据库的root账号。
 
    4、使用密钥存储器来保存或派发密钥,不要直接将密钥硬编码在你的应用之中。
 
    5、通过使用SQL预处理语句来避免SQL注入攻击。比如说,如果你使用的是NPM,那么请不要使用npm-mysql,你应该用的是npm-mysql2,因为它支持SQL预处理语句。
 
    开发篇
 
    1、确保你软件中所有组件的每一个版本都进行了漏洞扫描,包括接口、协议、代码以及数据包。
 
    2、对产品中所有使用到的第三方工具时刻保持警惕性,选择一款安全系数较高的开发平台。

另一视角

换一换