問題
1.
以下のコンテンツがオリジナルのコンテンツです:
<div class="Small-ButtonRSecond"><button class="Rbtn" onClick="">Read More<i class="bi bi-arrow-right"></i></button></div>
2. その結果、以下のような出力が得られた:
<div class="Small-ButtonRSecond"><button class="Rbtn">Read More<i class="bi bi-arrow-right"></i></button></div>
再現の手順:
1. LiferayDXP 2024.Q1.5のクリーンインスタンスを起動します。
2. ウェブコンテンツに移動し、基本ウェブコンテンツを作成する。
3. 以下の内容をソース・オプションに貼り付けて、onClickイベントが削除されていることを確認してください。<div class="Small-ButtonRSecond"><button class="Rbtn" onClick="">Read More<i class="bi bi-arrow-right"></i></button></div>
実績:onClickイベントがソースから削除されています。
期待される結果:onClickイベントがソースに表示されるはずです。
環境
- 2024.Q1.5
解像度
- DXP 2024.Q1.5で削除されたonclickイベントは、セキュリティリスクを防止するための意図的な動作です。
- ただし、上記の点はボタンへのonclickイベントだけに限らず、他のイベントにも適用できる。 つまり、ユーザーはソース・タブからどの要素にもイベントを追加できない。
- onclick、onerror、onloadのような属性のいくつかは、XSSのようなセキュリティの脆弱性のために、ckeditorのベストプラクティスのドキュメントに従って削除されます。
- 上記のckeditorのドキュメントでは、XSS攻撃を防ぐためにソース・モードを無効にすることを強く推奨しているが、ソース・モードの必要性がある以上、これらの攻撃を防ぐためにコンテンツをフィルタリングすることを推奨する。
- 報告された懸念に対して、アプリケーション全体に対するセキュリティ上の脅威となる可能性があり、そうすることでポータルに重大なセキュリティリスクをもたらす可能性がある、オンクリックや同様のイベントを許可する代替ソリューションはありません。