我出于安全目的在客户端使用Google Caja来清理HTML。但是,不同元素的风格与我在消毒之前收到的风格不同。我需要保留标签中的内容,并且我试图弄清楚如何。
例如,我收到以下HTML:
<div>
<style>
.btn-active {
background-color: green;
}
</style>
<script> alert('Blah');</script>
<a class="btn-active"></a>
</div>
html_sanitize(bodyHtml, urlX, idX);
返回:
<div>
<a class="btn-active"></a>
</div>
理想情况下,我希望将样式标记与其他所有内容保持一致。 像这样。
<div>
<style>
.btn-active {
background-color: green;
}
</style>
<a class="btn-active"></a>
</div>
我一直试图在任何地方找到解决方案,但我无法做到。我还查看了文档,实现了自定义策略,但即便如此,我也无法控制脚本标记被删除。
有没有办法用Google Caja执行此操作?