2

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

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

我的问题是:这安全吗?是否保证淘汰赛可以正确逃脱以避免 XSS 等?在所有浏览器中都安全吗?

4

1 回答 1

2

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

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

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

于 2012-11-15T19:42:13.207 回答