Documentation

AntiSamy

Liferay DXPには、ユーザーが入力した悪意のあるコードから保護する AntiSamy モジュールが含まれています。 ユーザーが掲示板、ブログ、またはその他のアプリケーションにコンテンツを投稿することをサイトで許可している場合、これらの投稿には悪意のあるコードが含まれている可能性があります。 AntiSamyモジュールは、HTML / CSSフラグメントをフィルタリングし、疑わしいJavaScriptコードをそれらから削除します。

このモジュールは、強力な OWASP AntiSamyライブラリ を活用して、オークションサイトの eBay で有効なコンテンツポリシーを適用します。 AntiSamyモジュールは、OWASP AntiSamy実装をインストールの既存のサニタイザー実装のリストに追加します。 Liferay DXPは、AntiSamyサニタイザーと既存の構成済みサニタイザーを使用して、ブログエントリ、カレンダーの予定、掲示板の投稿、Wikiページ、およびWebコンテンツ記事へのユーザー入力をスクラブします。

AntiSamyはデフォルトで有効になっています。

Liferay DXPのAntiSamy構成オプションには、ブラックリストとホワイトリストの両方が含まれます。

AntiSamyの構成

AntiSamyはブラックリストとホワイトリストの両方を使用するため、サニタイズする必要があるエンティティとサニタイズしないエンティティのサブセットを定義できます。 ホワイトリストはそのタイプのコンテンツがフィルタリングされないようにし、ブラックリストはそのタイプのコンテンツをフィルタリングします。

デフォルトでは、JournalArticleBlogsEntry、およびFragmentEntryを除くすべてがサニタイズされます。 これらの種類のコンテンツを投稿するユーザーは信頼されていて、掲示板やWikiの記事を投稿するユーザーは信頼されていない可能性があると想定されています。 この構成が必要ない場合は、次のように変更できます。

  1. コントロールパネル] → [システム設定] → [セキュリティツール] → [AntiSamy サニタイザー] に移動します。

  2. サニタイズするパッケージパスを [ブラックリスト] フィールドに入力します。

  3. 必要に応じて、プラス(+)ボタンを使用してブラックリストフィールドをさらに追加します。

  4. サニタイズするオブジェクトの完全修飾クラス名を [ブラックリスト] フィールドに入力します。

  5. 必要に応じて、プラス(+)ボタンを使用してホワイトリストフィールドをさらに追加します。

  6. サニタイズしないオブジェクトの完全修飾クラス名を [ホワイトリスト] フィールドに入力します。

  7. 構成からパッケージパスを削除する場合は、マイナス(-)アイコンをクリックします。

  8. 完了したら、 [保存] をクリックします。

ワイルドカードの使用

構成でワイルドカードを使用できます。 たとえば、掲示板の投稿のみをサニタイズしたい場合は、次のことができます。

  1. ホワイトリストを次のように設定します:*

  2. ブラックリストをcom.liferay.message.boards*に設定します。

ホワイトリストとブラックリストは連携して機能します。 ブラックリストがない場合、上記の構成のホワイトリストには、com.liferay.message.boardsを除くすべてのコンテンツタイプを含める必要があります。これは、構成するのが大変な作業です。

AntiSamyを使用して、ユーザーが生成したコンテンツを他のユーザーが安全に閲覧できるようにします。

AntiSamy サニタイザー (クラス名別)

AntiSamy サニタイザー (クラス名別) と呼ばれるAntiSamyを構成する別の方法があることに気付くかもしれません。 これは、開発者がモデルクラス名ごとにAntiSamy構成XMLファイルを指定することにより、より微細なAntiSamy構成を作成する方法です。 ただし、現時点では、開発者は、AntiSamy構成ファイルをLiferay AntiSamyモジュールに挿入する(そして再デプロイする)か、フラグメントバンドルプロジェクトを作成することにより、提供する必要があります。

このチュートリアルは間もなく公開予定ですが、現時点では、 開発者チケット で詳細情報を確認できます。