为什么 angular 会在 app-root html 标签中添加 ng-version 属性

Meh*_*oha 8 html security angular

今天,我注意到 Angular 在 app-root 中添加了它的版本信息,如下所示:

<app-root _nghost-c0="" ng-version="5.2.0">
Run Code Online (Sandbox Code Playgroud)

甚至当我在生产环境中构建时,它似乎也存在。我不知道在那里添加该信息的主要目标是什么?公开显示角度版本不是一个安全问题吗?谢谢

lor*_*tis 7

这是一个老问题,但仍然相关,并且接受的答案可能会产生误导。\n根据 Mi\xc5\xa1ko Hevery 的说法:“这是故意存在的,以便像占卜这样的工具可以检测到它是一个有角度的页面并可以提供有用的 UI。”

\n\n

它本身不是一个安全问题,但隐藏它也不是“隐匿性安全”,因为这意味着您采取的所有安全措施都是如此。\n事实上,使用隐匿性是一种很好的做法,因为它使得对于攻击者来说,信息收集(侦察)更加困难,但绝不能仅依赖于此。

\n


Gün*_*uer 5

Angular 使用此属性来标记用于引导应用程序的元素。

另见https://github.com/angular/angular/commit/a4de214e2be5048f1261d043cc467a5ecaa5c909

隐藏它只会是通过默默无闻的安全,这不是安全。