我正在考虑将Play用于大型项目,因此,有人对OWASP Top 10进行了久经考验的Play框架吗?您在Play框架中是否知道任何安全性问题?

最佳答案

在OWASP Top 10和Play上(一些信息here):

  • A1:注入(inject)

    默认情况下使用JPA并转义字符串
  • A2:跨站点脚本(XSS)

    从1.0.1版开始,Play的模板引擎会自动转义字符串
  • A3:身份验证和 session 管理中断

    播放是无状态的,不涉及 session 。 Cookies受密码保护。通过哈希将数据安全地存储在数据库(密码)上取决于用户,而不是框架
  • A4:不安全的直接对象引用

    同样,这取决于开发人员验证对允许资源的访问,而不是框架
  • A5:跨站请求伪造(CSRF)

    POST请求允许使用真实性 token 来防止这种情况。当然,这取决于开发人员正确使用GET/POST
  • A6:安全性配置错误

    默认的错误报告过程在生产中似乎很安全(没有堆栈跟踪泄漏)。唯一需要考虑的是路径中的“全部捕获”条目,但是应该在生产模式
  • 中将其注释掉
  • A7:不安全的密码存储

    开发人员负责加密数据库
  • 中的敏感信息
  • A8:无法限制URL访问

    开发人员必须实现安全限制(如本教程所述,通过@Before)以禁止访问禁止的页面。
  • A9:传输层保护不足

    播放支持SSL
  • A10:未经验证的重定向和转发

    播放重定向是通过302而非硬编码的字符串进行的,因此应该避免这种情况。

  • TL; DR:在框架可以完成所有工作的部分中,Play可以完成。在开发人员需要完成所有工作的部分中,开发人员需要完成所有工作。每个零件需要50%的零件,Play会提供其50%的零件。

    让我们这样说:没有理由不认为Play比其他Java框架安全。在许多情况下,您可以认为它更安全。而且,由于Play是易于开发,无状态和REST的框架,因此您将它弄乱的机会更少。

    10-01 08:01
    查看更多