問題タブ [angular-dom-sanitizer]
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.
javascript - Angular 8 DomSanitizer ホワイトリスト?
Web ページで angular(8) を使用していて、いくつかiframe
の を として表示したいと考えていinnerHTML
ます。
デフォルトでは、angular domsanitizer は危険な要素を削除します。bypassSecurityTrustHtml
関数などを使用してこれを無効にできることはわかっています。( https://angular.io/api/platform-browser/DomSanitizer )
ただし、コンテンツはユーザーが生成するため、Domsanitizer を単純にバイパスすることはできません。リスクが高すぎるからです。ただし、たとえば自分のドメインなど、既知の特定のドメインを許可できるかどうかは疑問です。そのため、Sanitizer に安全なドメインを含む何らかのホワイトリストを提供する必要があります。Google は今のところ有用なものを何も返していないので、私は疑問に思っています。
angular - 抽象クラス DomSanitizer のインスタンスを作成する
Angular コンポーネントでは、DomSanitizer を注入して使用できます。
しかし、コンストラクターに注入せずに DomSanitizer を使用する方法は?
クラスにインポートしたくないのでDomSanitizer
、2 番目のパラメーターとして keepHtml() に渡します。
関数ファイル内で実装全体を行いたい。
また、関数 keepHtml() をクラスメソッドに変換したくありません。
angular - PDFを表示するために「X-Frame-Options」を「sameorigin」に設定したため、フレームに「URL」を表示することを拒否しました
https://angular.io/guide/security#xssを参照し、イントラネットの SharePoint サイトの PDF を Web ページに表示しようとしました。
テンプレートは次のとおりです: help.component.html:
およびコンポーネント: help.component.ts
提案されているように &embedded=true を追加してみました: 「X-Frame-Options」を「sameorigin」に設定したため、フレームに表示することを拒否する方法を修正する方法
しかし、それもうまくいきませんでした。ガイドしてください
javascript - eval または domsanitizer を使用したカスタム ユーザー スクリプトの Javascript 実行
Angular 8 PWA アプリに取り組んでいます。アプリの一部により、クライアントは独自のカスタム フォームを作成してデータを収集できます。
開発の一環として、データを操作するための一連の関数をまとめています。ただし、すべてのシナリオに機能を提供するのは難しいため、ユーザー管理者が独自のスクリプトを作成してデータベースに保存し、フォームで実行できるようにすることを検討しています。
これを有効にするために、スクリプトを渡すことを検討していますDomSanitizer.bypassSecurityTrustScript()
またはおそらく「邪悪な」javascripteval()
これは、アプリ内の限られた機能セットへのアクセスを提供する分離された機能内で実行されます。例えば:
fnGetFieldValue() と setFnFieldValue は、限定された一連の操作を実行するためにスクリプトからアクセスできる関数として定義されます。
問題は、明らかな XSS スクリプト攻撃であるこの機能を許可することに関して、重大なセキュリティ上の懸念があるということです。これらのユーザー カスタム スクリプトを安全に実行するための戦略はありますか?
Squarepace、Zoho、powerapps などの企業がユーザーにカスタム コードの実行を許可している場合、これらのソリューションも同じ問題を起こしやすいのではないでしょうか? evalの「悪」の使用を回避する方法を知っている人はいますか?
これについての考えと、これを処理していくつかの関連する機能をサニタイズできる npm パッケージがあるかどうかを評価してください。