css类绑定安全吗?

时间:2012-11-15 17:28:29

标签: knockout.js xss

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

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

我的问题是:这样安全吗?是否可以保证击倒正确地逃脱它以避免XSS之类的?在所有浏览器中都安全吗?

1 个答案:

答案 0 :(得分:2)

是的,这很安全。原因是CSS分配不是通过将HTML修改为字​​符串来完成的,而是通过修改HTML DOM属性来完成的。因此,knockout通过代码node.className=newClass进行类分配。因此,您可以在newClass中放置任何您想要的内容而无需任何其他转义。

有点偏离主题。如果使用css敲除绑定:

,您可以使代码更清晰

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