我有 Vaadin UI 的后端。我想保护后端数据库免受XSS攻击。 对于 Vaadin UI 的 XSS 防护,您有何建议?
最佳答案
Vaadin 内置了 XSS 保护。 所有组件都正确转义/编码 html 标签。
但是: 您可以在某些组件中显示“原始”html 或 js 代码。例如,标签可以将未转义的 html 代码发送回您的浏览器。如果你这样做,那么你就会受到攻击。 在这种情况下,您必须进行正确的过滤/转义以防止 XSS 攻击。
当用户在文本字段中输入此文本时:
<script>alert('test')</script>
然后,完全相同的文本,包括所有 < > & ' 等,都保存在后端/数据库中。 毕竟没有理由做任何其他事情。
当您从数据库中读回此内容时,vaadin 组件(TextField、Label...)会正确转义所有必需的 html 字符/标签/实体,以便网络浏览器在屏幕上显示此内容:
<script>alert('test')</script>
当您使用其他类型的 Web ui 时,当然,该 ui 层有责任正确转义所有特殊字符。
更多信息请点击以下链接:
关于java - Vaadin UI 的 XSS 防护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47568782/