=====Сервисы для работы небезопасными данными===== По умолчанию AngularJS не поддерживает выполнение HTML разметки и JavaScript сценариев вводимых пользователем, но есть случаи когда это необходимо, для этого существует ряд сервисов: * **$sanitize** –удаляет небезопасные элементы. * **$sce**–позволяет отобразить небезопасные элементы. Для работы с этими сервисами необходимо подключить в зависимости модуля ngSanitize который находится в отдельном js файле который можно скачать по адресу [[https://code.angularjs.org/1.2.25/angular-sanitize.js|angular-sanitize.js]]\\ \\ один из самых распространенных способов атаки на веб приложение это ввод ложных данных, например в поля формы можно ввест не требуемые данные а javascript сценарий который может быть выполнен и впоследствии вашему приложению будт нанесен вред angularjs содержит несколько сервисов позволяющих повысить безопасность своего приложения, чаще всего это будет необходимо в приложениях которые позволяют пользователю генерировать html разметку\\

{{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 |}}