我正在选择一个 Scala Web 框架。我正在考虑的框架包括Play、Scalatra和Lift。在我准备的项目中,安全很重要。然而,网络安全对我来说是一个模糊的主题,我希望我的框架能够在合理的范围内处理它。我似乎被 Play 所吸引。
我不是在问什么是最安全的框架(根据广告 – Lift),而是,Scala 框架是否为我处理安全问题,它们在这方面如何比较?我不想仅仅依靠我的知识来确保网络应用程序的安全。
我会投票给 Liftweb http://seventhings.liftweb.net/security
与其他框架(尤其是 java,如 Spring)的主要区别在于人们可能称之为“默认行为”。例如,在编码时,您可能会忘记“转义”,一些 html 属性。在一个糟糕的框架中,您会收到带有损坏的 html 和安全漏洞的错误。在一个好的框架中,你会有双重转义或错误。
实际上可以在链接中阅读完整的示例列表。我个人喜欢 Lift 的原因是它的有状态性,Scala 绑定到 HTML 之类的
"#myHtmlNode li div [onclick]" #> ajaxInvoke(...scala code here...)
在上面的代码中,您将 100% 确定ajaxInvoke
除了您自己发送页面的那些用户之外,没有人可以访问其内容。当然,逻辑和视图的分离是一种解脱。