java - Vaadin UI 的 XSS 防护

标签 java vaadin xss

我有 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 层有责任正确转义所有特殊字符。

更多信息请点击以下链接:

The security page

More on vaadin security

Security Webinar

关于java - Vaadin UI 的 XSS 防护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47568782/

相关文章:

java - 如何在 Vaadin 10 中管理 session ?

typescript - 如何在 vaadin-combo-box 中指定默认值?

javascript - 在 ajax 接收的数据上防止 javascript 中的 XSS

java - keyPressed() 方法在哪个线程中调用?

java - 用于 bean 比较的单元测试框架

Java:类似于 popen() 的函数?

database - 如何在 Vaadin 上创建用户身份验证?

javascript - 如何防止 keyup() jQuery 事件的 XSS?

Python、Jinja2 nl2br 和安全性

java - 用 Java 为 OOP 的二十一点克隆制作一副纸牌,当填充这副纸牌时,它会损坏,我不明白为什么