我有 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
最佳答案
CQ提供的XSS防护机制已经基于AntiSamy Project。您只需提供您的自定义反同配置,以防默认配置不满足您的需求。
默认的反同配置存在于 /libs/cq/xssprotection/config.xml
中,可以用 /apps
中的自定义配置覆盖它。
您可以使用 CQ 中提供的 XSS 保护 API 来保护您的网站免受安全攻击。 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);
您可以找到一些预定义的策略文件和创建新配置的步骤 here .
更新:
如果你不想使用 XSS API,那么你需要在你的实例中安装 owasp esapi 包,然后你可以使用问题中提到的代码。
关于xss - 如何在 cq 5.5 中配置 antisamy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24800295/