嗨,我想知道角J的安全特性。我读到了角提供的保护,以防止基本的安全漏洞。
制作一个安全的角应用程序的最佳实践是什么? ngCsp、$sce和$sanitize是否是一个安全的webapp应用程序的真正要求?
发布于 2015-06-15 05:51:16
您可以启用AngularJS CSP支持。这里有更多细节。示例代码如下:
<!doctype html>
<html ng-app ng-csp>
...
...
</html>ng-csp强迫您不要使用可以像eval和Function那样注入的代码。来自文档的消毒液。
通过将HTML解析为标记,可以对输入进行清理。然后将所有安全令牌(来自白名单)序列化回正确转义的html字符串。这意味着没有任何不安全的输入能够将其输入到返回的字符串中,但是,由于我们的解析器比典型的浏览器解析器更严格,所以一些模糊的输入(被浏览器识别为有效的HTML )可能无法通过清除器完成。输入也可能包含SVG标记。白名单使用$
aHrefSanitizationWhitelist和imgSrcSanitizationWhitelist的函数compileProvider进行配置。
它简单地说,你不能附加任何和平的代码使用innerHTML。
对于$sce,您可以参考以下链接。TrustasHTML和它漂亮的教程。
除此之外,您还可以使用auth令牌。
编辑:您可以在后端中验证输入,以确保没有注入。
https://stackoverflow.com/questions/30837862
复制相似问题