Aar*_*lla 5 language-agnostic security login
有很多方法可以为Web应用程序创建登录表单,其中大多数都是有缺陷的:
是否有示例或教程如何创建安全登录表单?
我同意卡洛斯关于缺乏"完美"的安全系统,不仅用于登录,还用于任何其他组件.唯一要做的就是通过遵循最佳实践来降低风险,但始终牢记总安全性不存在,所以你的问题很难回答,尽管有一些好的例子没有什么是完美的,安全性是一个非常快速发展的话题.
对我来说,要解决的主要问题是:
- 数据传输:用户总是要输入密码,这必须在处理之前发送到您的系统,因此如果您使用的是开放频道,则很有可能被截获.要解决此问题,您必须使用通过加密通道(SSL)传输数据,除非您删除公共密码(例如使用一次性使用令牌,或将身份验证委派给第三方,如Facebook connect或openId) ).请参阅"如何使用SSL创建安全登录表单"
- 输入卫生:为避免XSS和SQL注入将来自客户端的任何输入视为潜在风险点,因此您必须对来自外部的任何内容执行验证 - > doc.另一个好的做法是永远不要直接在查询上使用输入,在预准备语句或存储过程中用作绑定变量.
-Password Storage:密码应始终使用单向散列算法加密存储,因此即使有人访问您的数据库,也无法恢复原始密码.还要使用Salting,Hashing等多种技术等等.另外要注意选择一种不弱或过时的算法(如MD5),这可以通过增加CPU功率轻松破解.
- 基础设施:让您的机器,操作系统,框架,库始终更新,以避免错误和0天攻击.今天的任何系统都非常复杂,系统与最弱的组件一样安全.
- 其他需要考虑的事项:定期检查您的安全策略,看看是否需要更新任何内容,实施密码策略(过期,重用等),日志访问,使用系统监控工具等等
毕竟,你仍然可以确定,如果有人有足够的时间和资源,你的系统就会崩溃.
| 归档时间: |
|
| 查看次数: |
9387 次 |
| 最近记录: |