Basic

Приложение состоит из 3-х частей:

  • component-классы, описывают данные и функциональность

  • шаблоны HTML, которые описывают UI

  • CSS

html тэги (прочитать про компоненты)

  • <app-root> — первый компонент для загрузки и в которые загружаются другие компоненты

  • <app-top-bar>, <app-product-list>, <app-product-alerts> — другие компоненты

В Angular есть встроенные механизмы санитайзинга:

<h3>Binding innerHTML</h3>
<p>Bound value:</p>
<p class="e2e-inner-html-interpolated">{{htmlSnippet}}</p>
<p>Result of binding to innerHTML:</p>
<p class="e2e-inner-html-bound" [innerHTML]="htmlSnippet"></p>
export class InnerHtmlBindingComponent {
  // For example, a user/attacker-controlled value from a URL.
  htmlSnippet = 'Template <script>alert("0wned")</script> <b>Syntax</b>';
}

тэг скрипт будет выпилен Angular'ом при отображении

DomSanitizer

При аудите кода, ищем вызовы этого класса. Эти методы отключают поддержку встроенных в Angular механизмов безопасности https://angular.io/api/platform-browser/DomSanitizer

Last updated