問題タブ [ngsanitize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
53788 参照

angularjs - 角度サニタイズ / ng-bind-html が機能しない?

リピーターがセットアップされており、html が含まれていない限り、表示するデータを取得できます。

含めangular-sanitize.jsて使用してみましたng-bind-html

ng-bind-htmlただし、属性内のみで、スパン内には何も表示されません。サニタイズが効いていないようで、

これをアプリの依存関係に追加する必要があると読みましたが、どこで追加すればよいかわかりません。

私はAngularサイトでtutに取り組んできたばかりなので、現時点では非常に基本的なコントローラーのみをセットアップしています。

0 投票する
1 に答える
16402 参照

html - ngSanitizeを使用して特殊文字を適切にエスケープする方法は?

ユーザーが「&」などの特殊文字を入力できるようにし、ページが送信されたときにそれらを正しい html に変換できるようにしたいと考えています。ex "&" => "&" 例を読んだところ、ng-bind-html$sceが見つかりました。

ビューで適切に変換されたコントローラーから送信されたhtmlテキストのみを表示するため、ng-bind-htmlは私の必要性には役に立たないようです。例: ユーザーには「&」が「&」として表示されます。したがって、サーバーに送信する前に、コントローラーで「$ sce」を使用して文字を変換しています。元:

これはこれを行う正しい方法ですか?または、ビューをバインドしてサニタイズされたテキストをコントローラーに渡す簡単な方法はありますか? Angular 1.2.4を使用しています。

0 投票する
1 に答える
1095 参照

angularjs - ngSanitize は allow id 属性を許可しません

ngBindHtml(内部) CMS からいくつかの HTML を表示するために使用しています。

idHTML には、次の属性を持つリンクが含まれています。

ただし、ページへのリンクを書き込む前に id 属性が angular によって削除されていることに気付きました。そのため、レンダリングされるのは次のとおりです。

ngSanitize モジュールのソースを見ると、何らかの理由で id 属性が有効な属性のリストに含まれていないようです:

https://github.com/angular/angular.js/blob/master/src/ngSanitize/sanitize.js#L206

  1. id 属性を許可しない理由は何ですか? それはセキュリティリスクですか?
  2. できれば ngBindHtml を使い続けたいと思っています。サニタイザーのリストに安全なタグを追加できる API はありますか? または、このタグを追加するには、自分でソースを編集する必要がありますか?
0 投票する
1 に答える
2831 参照

javascript - $sce.TrustAsUrl が機能しない

入力ボックスから入力を取得して表示する angularjs を使用してアプリを作成しようとしています。チャットに似ています。そのため、入力には URL を含めることができ 、この SO の質問How to replace plain URLs with links? で見つけたAutolinker.jsの助けを借りて、それらをリンクに変換しています。. Angular バインディングに html を挿入するためにngSanitizeを使用していますが、URL のみをリンクに変更し、2<3 のようなものは 2<3 として出力する必要がありますが、HTML タグとして読み取ってはいけません。

$sceも使用しましたが、機能しませんでした。Parse Error2<3でエラーが発生しています

を使用するより良いオプションがありますが、linkyhttp なしで URL を変換することはできません。3つのオプションをいじります:http: //jsfiddle.net/JY3Za/58/(PS:ここでは、テストのために正規表現を使用しました)

では、Autolinker.js を使用しているときに html を angular に挿入して、 と タグのみが許可され、これら以外のものはプレーン テキストとして表示されるようにする最善の方法は何でしょうか?

0 投票する
2 に答える
18513 参照

javascript - ng-repeat で $sce.trustAsHtml を使用する AngularJS

ng-repeat のオブジェクトのプロパティで $sce.trustAsHtml() を使用しようとしています。その結果、HTML は完全に空白になります。ただし、ngSanitizeを使用してHTMLが正しく出力されます。

ところで、私は AngularJS v1.3.0-beta.3 を使用しています。バグがあるのか​​、何か間違っているのかわかりません。

0 投票する
1 に答える
722 参照

angularjs - Angular ngSanitize / ngDragDrop の互換性

だから、私はAngularアプリケーションに取り組んでおり、ngSanitizeとngDragDropの間の互換性に関して問題を抱えています. ngDragDrop はhttp://ganarajpr.github.io/angular-dragdrop/で、 ngSanitize はhttps://docs.angularjs.org/api/ngSanitize/service/$sanitizeで見つけることができます。

アプリ モジュールに ngSanitize を含めた瞬間、Angular コードが完全に機能しなくなりました。

私はcompatibility.htmlというテストファイルを持っています

そしてもう1つはcompatibility.jsと呼ばれる

なぜそれが機能しないのか、何をすべきかわかりません。おそらく、評価はコードが実行され{{3+1}}たときに a を返すはずですが、そうではありません。4私は ngSanitize と ngDragDrop の両方を別々に使用しましたが、両方を同時に使用しようとした場合にのみ問題が発生します。