我有一个小小部件,客户端网站使用iframe嵌入。我希望客户能够指定css类,如下所示,通过url提供widgetStyle,类似于http://acme.widget.com/#/widgetStyle
<body data-bind="attr: { 'class': widgetStyle }">
<!-- Content -->
</body>
我的问题是:这样安全吗?是否可以保证击倒正确地逃脱它以避免XSS之类的?在所有浏览器中都安全吗?
答案 0 :(得分:2)
是的,这很安全。原因是CSS分配不是通过将HTML修改为字符串来完成的,而是通过修改HTML DOM属性来完成的。因此,knockout通过代码node.className=newClass
进行类分配。因此,您可以在newClass
中放置任何您想要的内容而无需任何其他转义。
有点偏离主题。如果使用css
敲除绑定:
<body data-bind="css: widgetStyle">