JSF的安全问题是什么?

时间:2010-12-13 16:01:34

标签: java security jsf struts jsf-2

我沉浸在Struts中,我开始学习JSF 2.0。我可以继续使用Struts中的工作来减少攻击向量,还是有新的攻击向量我需要编写代码?

1 个答案:

答案 0 :(得分:6)

默认情况下,JSF / Facelets已经转义UIOutputUIInput组件中的输出。因此,只要您通过<h:outputText><h:inputWhatever>重新显示用户控制的输入,那么XSS部分就是安全的。

JSF还通过javax.faces.ViewState隐藏输入字段构建了对CSRF的预防措施。在JSF 2.1之前,这只是“太容易”猜测,另请参阅JSF impl issue 812JSF spec issue 869。最近(2010年10月3日)已针对JSF 2.1修复此问题。

请注意,防范SQL injection攻击不是Web MVC框架的责任。您需要在数据层中解决该部分。如果以正确的方式使用JPA(即不在SQL字符串中连接用户控制的输入,但使用参数化查询),那么该部分也是安全的。

相关问题