knockout.js - css 类绑定(bind)安全吗?

标签 knockout.js xss

我有一个客户端网站使用 iframe 嵌入的小部件。我希望客户端能够指定 css 类,如下所示,其中 widgetStyle 通过 url 提供,例如 http://acme.widget.com/#/widgetStyle

<body data-bind="attr: { 'class': widgetStyle }">
  <!-- Content -->
</body>

我的问题是:这安全吗?击倒是否能保证正确转义以避免 XSS 等?在所有浏览器中都安全吗?

最佳答案

是的,很安全。原因是 CSS 分配不是通过将 HTML 修改为字符串来完成的,而是通过修改 HTML DOM 属性来完成的。因此, knockout 通过代码 node.className=newClass 进行类分配。所以你可以把你想要的任何东西放在 newClass 中。没有任何额外的转义。

还有一点题外话。如果您使用css,您可以使代码更清晰 knockout 的绑定(bind):

<body data-bind="css: widgetStyle">

关于knockout.js - css 类绑定(bind)安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13402965/

相关文章:

javascript - Knockout.js:自定义绑定(bind)中的数组参数

php - 我是否应该将 ENT_QUOTES 与 htmlspecialchars 一起使用

javascript - 使用 Iframe 的跨站点脚本

javascript - 代理第 3 方脚本会引入 XSS 攻击吗?

javascript - 当 Knockout 更新值时不会触发 Change 事件

Magento 2 结账运费收集

javascript - 将包含一个元素的参数作为数组传递

javascript - 使用 javascript 检查用户输入是否包含 &lt;script&gt; 标记。意外的标记 {

javascript - 为什么我的 XMLHttpRequest 不允许 XSS?

javascript - knockout : Accessing property of observable object