我有一个客户端网站使用 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/