{{htmlData}}
{{ :angular:angularjs:сервисы:sanitaze1.png |}}
====ngSanitize====
**ng-bind-html** выполняет привязку и проверяет выражение на содержание недопустимых символов, по умолчанию использует **$sanitize** сервис, необходимо подключение //angular_sanitize.js// который содержим модуль **ngSanitize** \\
запустившись мы увидим строку которая указана в свойстве htmlData но на самом деле angularJS уже обработал ее и отображаемая строка превратилась в <p>This is <b onmouseover=alert('Attack!')>dangerous</b> data</p> были заменены опасные символы на более безопасные
{{ :angular:angularjs:сервисы:sanitaze2.png |}}
====$sanitize====
Использование сервиса $sanitize\\
Обратите внимание что angularjs удалил обработчик на событие javascript onmouseover из строки.
{{ :angular:angularjs:сервисы:sanitaze3.png |}}
====$sce====
в некоторых случаях все же нужно оставить возможность выполнять клиенту javascript код, для этого в angularjs существует сервис **$sce** этот сервис содержит метод trustAsHtml который возвращает выражение обработанное сервисом $sce
SCE
{{ :angular:angularjs:сервисы:sanitaze4.png |}}