我正在做一个关于信息安全的小项目,我正在实施下面列出的技术来保护医疗保健数据库。
- 防止 SQL 注入(使用准备好的语句、验证、使用标记化算法)
- 防止 CSRF 攻击(在表单中插入隐藏的令牌)
- 防止蛮力攻击(在 5 次不成功的尝试后锁定帐户)
- 防止 XSS
- 验证每个输入
- 仅在 cookie 上启动会话
- 实施否定数据库。(http://en.wikipedia.org/wiki/Negative_database)
- 加密机密信息
- 每个用户的有限权限
编辑 我也在实施这些我之前没有发布的点,因为我认为它们不太重要。但这里的答案清楚地表明了以下几点的重要性:
- 审核日志
- 强密码
- 使用 session_set_cookie_params 的安全连接
- 访问控制
所以现在我的问题是——还有什么让我忘记了吗?我知道其中一些,例如网络层的安全性等。我在本地主机上运行我的项目,所以我认为我无法在网络层上做任何事情。