Lightning コンポーネントでの不十分なエスケープ
バンドル内の各コンポーネントは、親コンポーネントやアプリケーションによって提供された入力、または URL パラメータで提供された入力をサニタイズする責任があります。
個々のコンポーネントのセキュリティ境界は、コンポーネントバンドルです。バンドル内の各コンポーネントは、親コンポーネントやアプリケーションによって提供された入力、または URL パラメータで提供された入力をサニタイズする責任があります。onInit ハンドラでサニタイズしていない場合、公開コンポーネントまたはグループコンポーネントの属性には、攻撃者が制御する入力が含まれていることが考えられます。
入力をサニタイズしないと、クロスサイトスクリプト (XSS) 攻撃や URL リダイレクト攻撃を受ける可能性があります。
Aura の例
次の Aura コードの場合、コンポーネントは、グローバル属性のデータを参照し、エスケープが十分でない状態でそのデータをドキュメントオブジェクトモデル (DOM) に提供します。1 つのパラメータに、悪用されやすいタグ unescapedHTML があります。ハッカーやマルウェアは、HTML または JavaScript をビューに挿入して、クロスサイトスクリプト (XSS) 攻撃をトリガすることができます。
次の Aura コンポーネントコードは、unescapedHTML を使用していないため安全です。
詳細は、『Secure Coding Guide (セキュアなコーディングのガイド)』の「Lightning Security (Lightning のセキュリティ)」を参照してください。