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