在OWASP Top
10和Play上(此处提供一些信息):
- A1:注射
默认使用JPA并转义字符串
- A2:跨站点脚本(XSS)
从1.0.1版开始,Play的模板引擎会自动转义字符串
- A3:身份验证和会话管理中断
播放是无状态的,不涉及会话。cookies受密码保护。通过散列将数据安全地存储在数据库(密码)上取决于用户,而不是框架
- A4:不安全的直接对象引用
同样,这取决于开发人员验证对允许资源的访问,而不是框架
- A5:跨站点请求伪造(CSRF)
POST请求允许使用真实性令牌来防止这种情况。当然,这取决于开发人员正确使用GET / POST
- A6:安全性配置错误
默认错误报告过程在生产中似乎很安全(没有堆栈跟踪泄漏)。唯一需要考虑的是路线中的“全部捕获”条目,但是应该在生产模式下将其注释掉
- A7:不安全的密码存储
开发人员负责加密数据库中的敏感信息
- A8:无法限制URL访问
开发人员必须实施安全限制(通过@Before,如本教程中所述),以禁止访问禁止的页面。
- A9:传输层保护不足
播放支持SSL
- A10:未经验证的重定向和转发
播放重定向是通过302而非硬编码的字符串进行的,因此应该避免这种情况。
TL;
DR:在框架可以完成所有工作的部分中,Play可以完成。在开发人员需要完成所有工作的部分中,开发人员需要完成所有工作。每个零件需要50%的零件,Play会提供其50%的零件。
让我们这样说:没有理由不考虑Play比其他Java框架安全性低。在许多情况下,您可以认为它更安全。而且,由于Play是易于开发,无状态和REST的框架,因此您将它弄乱的机会更少。



