css - 在 C# 中验证 CSS

标签 css escaping xss

我有一个生成 HTML 代码的网络应用程序。用户可以输入一些 CSS 代码,这些代码会自动插入到 <style></style> 中。标签。

现在恶意用户可以输入类似 </style><script>maliciousFunction();</script><style> 的内容这里。但是如果我简单地转义整个输入,那么有效的 CSS 也会被转义(例如大括号)并且样式不再有效。

这个问题的最佳解决方案是什么?

最佳答案

转义不是最好的选择,因为所有这些字符可能自然存在于 css 代码中 ( < ' " : ; > ) ,因此我相信更好的选择是使用一些解析器将代码解析并清理为纯 css,留下所有不可理解的困惑,我发现了一个:https://github.com/TylerBrinks/ExCSS

关于css - 在 C# 中验证 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29913161/

相关文章:

javascript - 如何在 jQuery animate() 中使用 box-shadow?

sql - 如何在 Sequelize 中逃脱?

html - 换行符在 IE 和 Chrome 中呈现不同

java - 如何在 CDATA 之外编写未转义的 XML

java - 在java中将国际字符串转换为\u代码

asp.net-mvc - 防止XSS攻击,仍然使用Html.Raw

javascript - 加密的 Cloudfront 脚本被注入(inject)到我们的站点并导致我们的日志中出现 js 错误

javascript - 在现场使用 Wymeditor 安全吗?自动脚本可以禁用 javascript 吗?

html - 如何在水平滚动的 div 中创建淡入淡出效果

html - 填充会使我的整个站点关闭?