3

私はcq 5.5プロジェクトを持っています。

XSS 攻撃を防ぎたい。

このリンクによると、 cq は AntiSamy プロジェクトとの統合を提供します。

本当に見つからないので、AntiSamy との統合の具体的な手順を教えてください。

アップデート

このようなコードをどこかに書く必要がありますか?

import org.owasp.validator.html.*;

Policy policy = Policy.getInstance(POLICY_FILE_LOCATION);

AntiSamy as = new AntiSamy();
CleanResults cr = as.scan(dirtyInput, policy);

MyUserDAO.storeUserProfile(cr.getCleanHTML()); // some custom function
4

1 に答える 1

5

CQ が提供する XSS 保護メカニズムは、すでに AntiSamy プロジェクトに基づいています。デフォルトの構成がニーズに合わない場合に備えて、カスタムのアンチサミー構成を提供するだけで済みます。

デフォルトの antisamy 設定は/libs/cq/xssprotection/config.xmlにあります。これは、 内のカスタム設定でオーバーレイできます/apps

CQ で利用可能な XSS Protection API を利用して、Web サイトをセキュリティ攻撃から保護できます。XSSAPIおよびXSSFilterクラスは、指定された値を検証するためのさまざまなメソッドを提供します。

xssAPI、 を含めると暗黙的なオブジェクトとして/libs/foundation/global.jsp使用できますが、XSSFilter は以下に示すように取得して使用できます。

XSSFilter xssFilter = sling.getService(XSSFilter.class);
String filteredString = xssFilter.filter(ProtectionContext.HTML_HTML_CONTENT,
                            dirtyInput, POLICY_FILE_LOCATION); 

新しい構成を作成するための定義済みのポリシー ファイルと手順については、こちらを参照してください。

アップデート:

XSS API を使用したくない場合は、owasp esapi バンドルをインスタンスにインストールする必要があります。その後、質問に記載されているコードを使用できます。

于 2014-07-17T10:55:04.123 に答える