我需要保护我的数据免受 xss 漏洞的侵害。
仅在我也使用ngsanitize
或其他情况下才需要使用ng-bind-html
吗?
答案 0 :(得分:0)
您不必清除已知安全的数据。要明确信任您拥有的值,可以使用 $ sce.trustAsHtml(value)
如果$ sanitize服务不可用并且绑定值未被明确信任,您将有一个例外(而不是利用)。
来源:https://docs.angularjs.org/api/ng/directive/ngBindHtml
编辑:
NgSanitize会转义您的数据,因此您可以安全地将其呈现在html页面上。它可以防止任何恶意注入的代码在您的页面上执行。这涉及动态数据和用户输入(表单,URL参数等)。静态内容不需要清理。您可以在此处找到有用用法的示例:What is the purpose of angular-sanitize ?
没有ng-bind-html,您不需要ng-sanitize。只要您没有在页面上呈现任何其他动态数据或用户输入即可。