Jelly のエスケープ (インスタンスセキュリティ強化)
glide.ui.escape_all_script プロパティを使用して、Jelly に挿入されたすべてのスクリプトを強制的にエスケープします。
これは、<j:jelly> ... </j:jelly> に含まれるすべての JS および HTML 文字列を、出力ストリームに書き込まれる前にエスケープして、いくつかの XSS 問題が発生しないようにします。
詳細情報
| 属性 | 説明 |
|---|---|
| プロパティ名 | glide.ui.escape_all_script |
| 構成タイプ | システムプロパティ (/sys_properties_list.do) |
| インスタンスセキュリティセンターでの構成 | あり |
| 目的 | プロパティが true に設定されていない場合、開発者は XSS の問題を防ぐために、各カスタム Jelly スクリプトでいくつかの手順を実行する必要があります。これらの手順には、Web ページにレンダリングするために出力ストリームに送信される Jelly 変数の特定と、次の各タグのエスケープが含まれます。
OR
|
| 推奨値 | true |
| 機能への影響度 | (中) この修正では、パーサーレベルで Jelly エスケープが適用されます。結果のデータを用いたユーザーインタラクションに機能的な影響を与える可能性があります。 |
| セキュリティリスク | (高) アプリケーションで入力されるすべてのユーザー入力で入力検証を行う必要があります。これにより、プラットフォームに対するインジェクション攻撃を防御および保護できます。 |
| ワークアラウンド | Web ページでのレンダリング用に設計された一部のスクリプトと HTML タグが破損したように見えるため、UI が影響を受ける可能性があります。この修正では、出力エンコードされたページをブラウザーに送信してレンダリングします。 たとえば、 <u> タグが適切にエスケープされると、「my string here」ではなく「<u> my string here</u>」と表示されます。この場合、エスケープを防ぐには、NOESC プリフィックスを Jelly 式に追加して JS エスケープを防止します。例:
|
| 参照 | Jelly のタグ |
システムプロパティの追加または作成の詳細については、「Add a system property」を参照してください。