Spec-Zone.ru › Angular 2

DomSanitizer

Stable Security Risk Class

Риск безопасности

Вызов любого из bypassSecurityTrust... API отключает встроенную в Angular очистку для переданного значения. Тщательно проверьте и проанализируйте все значения и пути кода, передаваемые в этот вызов. Убедитесь, что все пользовательские данные должным образом экранированы для данного контекста безопасности. Более подробную информацию см. в Руководстве по безопасности.

Обзор класса

class DomSanitizer implements Sanitizer {
  sanitize(context: SecurityContext, value: any) : string
  bypassSecurityTrustHtml(value: string) : SafeHtml
  bypassSecurityTrustStyle(value: string) : SafeStyle
  bypassSecurityTrustScript(value: string) : SafeScript
  bypassSecurityTrustUrl(value: string) : SafeUrl
  bypassSecurityTrustResourceUrl(value: string) : SafeResourceUrl
}

Описание класса

DomSanitizer помогает предотвратить ошибки безопасности Cross Site Scripting (XSS) путем очистки значений для безопасного использования в различных контекстах DOM.

Например, при привязке URL в <a [href]="someValue"> гиперссылке, someValue будет очищен, чтобы злоумышленник не смог внедрить, например, javascript: URL, который бы выполнял код на веб-сайте.

В определенных ситуациях может потребоваться отключить очистку, например, если приложению действительно нужно создать javascript: стиль ссылки с динамическим значением в ней. Пользователи могут обойти безопасность, создав значение с помощью одного из bypassSecurityTrust... методов, а затем связав это значение в шаблоне.

Эти ситуации должны быть очень редкими, и необходимо проявлять особую осторожность, чтобы избежать создания ошибки безопасности Cross Site Scripting (XSS)!

При использовании bypassSecurityTrust..., убедитесь, что метод вызывается как можно раньше и как можно ближе к источнику значения, чтобы легко проверить, не создается ли ошибка безопасности при его использовании.

Не требуется (и не рекомендуется) обходить безопасность, если значение безопасно, например, URL, не начинающийся с подозрительного протокола, или фрагмент HTML, не содержащий опасного кода. Фильтр оставляет безопасные значения неизменными.

Подробное описание класса

sanitize(context: SecurityContext, value: any) : string

Очищает значение для использования в заданном SecurityContext.

Если значение считается надёжным для контекста, этот метод будет извлекать содержимое безопасного значения и использовать его напрямую. В противном случае значение будет очищено, чтобы быть безопасным в данном контексте, например, путем замены URL, у которых есть небезопасная часть протокола (например, javascript:). Реализация должна гарантировать, что значение можно безопасно использовать в данном контексте.

bypassSecurityTrustHtml(value: string) : SafeHtml

Обойти безопасность и довериться, что данное значение является безопасным HTML. Используйте это только тогда, когда привязанный HTML небезопасен (например, содержит <script> теги) и код должен быть выполнен. Фильтр оставит безопасный HTML неизменным, поэтому в большинстве случаев этот метод не следует использовать.

ПРЕДУПРЕЖДЕНИЕ: вызов этого метода с недоверенными пользовательскими данными подвергает ваше приложение риску XSS-безопасности!

bypassSecurityTrustStyle(value: string) : SafeStyle

Обойти безопасность и довериться, что данное значение является безопасным значением стиля (CSS).

ПРЕДУПРЕЖДЕНИЕ: вызов этого метода с недоверенными пользовательскими данными подвергает ваше приложение риску XSS-безопасности!

bypassSecurityTrustScript(value: string) : SafeScript

Обойти безопасность и довериться, что данное значение является безопасным JavaScript.

ПРЕДУПРЕЖДЕНИЕ: вызов этого метода с недоверенными пользовательскими данными подвергает ваше приложение риску XSS-безопасности!

bypassSecurityTrustUrl(value: string) : SafeUrl

Обойти безопасность и довериться, что данное значение является безопасным URL стиля, т.е. значение, которое может использоваться в гиперссылках или <img src>.

ПРЕДУПРЕЖДЕНИЕ: вызов этого метода с недоверенными пользовательскими данными подвергает ваше приложение риску XSS-безопасности!

bypassSecurityTrustResourceUrl(value: string) : SafeResourceUrl

Обойти безопасность и довериться, что данное значение является безопасным URL ресурса, т.е. местоположение, которое может использоваться для загрузки исполняемого кода, например <script src>, или <iframe src>.

ПРЕДУПРЕЖДЕНИЕ: вызов этого метода с недоверенными пользовательскими данными подвергает ваше приложение риску XSS-безопасности!

экспортировано из @angular/platform-browser/index, определено в @angular/platform-browser/src/security/dom_sanitization_service.ts

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v2.angular.io/docs/ts/latest/api/platform-browser/index/DomSanitizer-class.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API