2

クライアントのウェブサイトがiframeを使用して埋め込む小さなウィジェットがあります。クライアントが以下のようにcssクラスを指定できるようにしたいと思います。ここでwidgetStyleは、 http: //acme.widget.com/#/widgetStyleのようなURLを介して提供されます。

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

私の質問は:これは安全ですか?XSSなどを回避するためにノックアウトは正しくエスケープすることが保証されていますか?すべてのブラウザで安全ですか?

4

1 に答える 1

2

はい、安全です。その理由は、CSSの割り当ては、HTMLを文字列として変更するのではなく、HTMLDOMプロパティを変更することによって行われるためです。したがって、ノックアウトはコードを介してクラスの割り当てを行いますnode.className=newClassnewClassしたがって、追加のエスケープなしで、必要なものを何でも入れることができます。

そして少しオフトピック。cssノックアウトのバインディングを使用すると、コードをよりクリーンにすることができます。

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

于 2012-11-15T19:42:13.207 に答える