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