gpt4 book ai didi

java - 使用 Java 清理 CSS

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:01:20 24 4
gpt4 key购买 nike

Java 中是否有用于净化 CSS 样式表的良好库?我们希望允许管理员用户上传 CSS 样式表来控制他们管理的网站部分的外观。当然,我们不想 allox XSS 攻击,例如 background:url(javascript:),所以我们正在寻找一个好的清理解决方案。

到目前为止我发现的唯一我喜欢的东西是使用 Google Caja CssTree parser从 CSS 中排除危险标签。我可能最终会使用这样的东西,但如果有人知道一个库,我不必为它降低和提取那么多依赖项,那将会很有帮助。

解决方案:使用 Vineet Reynolds 建议的 AntiSamy 库

        Policy policy = Policy.getInstance("antisamy.xml");
ResourceBundle messages = ResourceBundle.getBundle("AntiSamy", Locale.getDefault());

CssScanner scanner = new CssScanner(policy, messages);
CleanResults results = scanner.scanStyleSheet(stylesheet, Integer.MAX_VALUE);

最佳答案

OWASP AntiSamy可以执行 CSS 样式表验证;不过,我还没有特别尝试过该功能。另外,我不确定它是否符合您作为一个依赖太多的元素的要求。它在内部依赖 Apache Batik 来执行样式表的解析。

如果我有安全意识,我就不会被下游依赖所困扰;我会为任务选择合适的工具。

关于java - 使用 Java 清理 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6333298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com