如何在cq 5.5中配置antisamy?

时间:2014-07-17 09:53:36

标签: xss cq5 aem owasp antisamy

我有cq 5.5项目。

我想防止XSS攻击。

根据此link 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

1 个答案:

答案 0 :(得分:5)

CQ提供的XSS保护机制已基于AntiSamy项目。您只需提供自定义的反恶意配置,以防默认配置不符合您的需求。

默认的antisamy配置位于/libs/cq/xssprotection/config.xml,可以与/apps内的自定义配置重叠。

您可以使用CQ中提供的XSS Protection API来保护您的网站免受安全攻击。 XSSAPIXSSFilter类提供了各种方法来验证给定的值。

xssAPI可用作包含/libs/foundation/global.jsp的隐式对象,而XSSFilter可以如下所示获取和使用。

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

您可以找到一些预定义的策略文件和步骤来创建新配置here

<强>更新

如果您不想使用XSS API,则需要在实例中安装owasp esapi包,然后您可以使用问题中提到的代码。