在我的jsf web应用程序中,我使用了messages.properties来输出一些文本。这段文本可以有html换行符,这样可以格式化输出文本。JSF 2.0; escape =“false”替代防止XSS?
这一切工作正常,如果我设置escape =“false”属性到outputtext。
问题是,具有值“false”的此属性不会阻止vor XSS(跨站点脚本),因此我删除此属性并使用默认值“true”。
所以,我不想分割的所有文本行单独在我的messages.properties的属性,如下面的例子:
mytext = This is my text<br />with line break and user value {0}...
后:
mytext1 = This is my text
mytext2 = with line break and user value {0}...
有没有什么办法,比其他escape =“false”但是防止从xss?
谢谢!
你只显示用户的内容时,这样的评语关心XSS。对于你自己的文本(从属性)只是不要在那里放置恶意代码:) – DRCB 2012-04-02 08:13:39
好的,但如果有任何用户内容在那里?我更新了我的问题:-) – Tobi 2012-04-02 08:16:33
我想这些只是只读组件,所以任何人如何XSS他们呢?我不认为输出文本关心客户发送的值。如果我错了,你总是可以扩展对XSS感兴趣并阻止XSS的JSF组件。如果您使用Tomcat 7.0,它提供了开箱即用的XSS预防功能 – DaTroop 2012-04-02 08:16:43