在Angular 5中使用[innerHTML]是否安全?

我看到有相互矛盾的报道,在Angular2中使用[inner HTML]标签是危险的.是否仍然如此,或者自从修复以来?

例如这个代码是危险的:

<div [innerHTML]="post.body"></div>

解决方法

正如它在 here中说的那样(在有角度的网站本身),看起来好像没有担心它因为有角度,自动识别不安全的值并消毒它们.

这里写的是:

Interpolated content is always escaped—the HTML isn’t interpreted and the browser displays angle brackets in the element’s text content.

For the HTML to be interpreted,bind it to an HTML property such as innerHTML. But binding a value that an attacker might control into innerHTML normally causes an XSS vulnerability. For example,the code contained in a <script> tag is executed:

export class InnerHtmlBindingComponent {
// For example,a user/attacker-controlled value from a URL.
htmlSnippet = 'Template <script>alert("0wned")</script> <b>Syntax</b>';
}

Angular recognizes the value as unsafe and automatically sanitizes it,which removes the <script> tag but keeps safe content such as the text content of the <script> tag and the <b> element.

所以我想,是的,它是安全的.

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...