我使用HTML净化器从用户输入中删除所有恶意代码。当HTML净化器检测到XSS代码(并删除)时,我想发送警报电子邮件。
purify()
方法返回纯化的HTML。我不能比较输入的HTML和经过净化的HTML来检测变化,因为HTML净化器通过转换HTML来确保输出符合标准。
有可能吗?
谢谢你的帮助!
不行,HTML净化器不支持这个用例
有一个配置设置可能有助于跟踪Purifier所做的更改:
http://htmlpurifier.org/live/configdoc/plain.html Core.CollectErrors
它说:
是否收集过滤文档时发现的错误。这是给你的用户反馈的一个有用的方法。
但也(这是棘手的部分):
警告:目前这个功能是非常不完整和实验性的,有很多可能的错误消息尚未实现。它不会引起任何问题,但也可能对您的用户没有帮助。
所以我不确定这是否足以了解净化器遇到的错误(例如XSS注入)。