DomSanitizer
DomSanitizer помогает предотвращать уязвимости безопасности, связанные с межсайтовым скриптингом (XSS), очищая значения, чтобы их можно было безопасно использовать в различных контекстах DOM.
API
abstract class DomSanitizer implements Sanitizer {
abstract sanitize(context: SecurityContext, value: string | SafeValue | null): string | null;
abstract bypassSecurityTrustHtml(value: string): SafeHtml;
abstract bypassSecurityTrustStyle(value: string): SafeStyle;
abstract bypassSecurityTrustScript(value: string): SafeScript;
abstract bypassSecurityTrustUrl(value: string): SafeUrl;
abstract bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl;
}
sanitize
string | nullВозвращает безопасное значение как из заведомо безопасного значения, так и из значения с неизвестным уровнем безопасности.
Если переданное значение уже является SafeValue, этот метод возвращает значение без оболочки. Если контекст безопасности — HTML, а переданное значение представляет собой обычную строку, этот метод очищает строку, удаляя потенциально небезопасное содержимое. Для любого другого контекста безопасности этот метод вызывает ошибку, если ему передана обычная строка.
string | null
bypassSecurityTrustHtml
SafeHtmlОбходит проверку безопасности и считает переданное значение безопасным HTML. Используйте этот метод только если связанный HTML небезопасен (например, содержит теги <script>) и код должен быть выполнен. Санитайзер не изменяет безопасный HTML, поэтому в большинстве случаев этот метод использовать не следует.
ПРЕДУПРЕЖДЕНИЕ: вызов этого метода с недоверенными пользовательскими данными подвергает ваше приложение риску XSS-атак!
string
SafeHtml
bypassSecurityTrustStyle
SafeStyleОбходит проверку безопасности и считает переданное значение безопасным значением стиля (CSS).
ПРЕДУПРЕЖДЕНИЕ: вызов этого метода с недоверенными пользовательскими данными подвергает ваше приложение риску XSS-атак!
string
SafeStyle
bypassSecurityTrustScript
SafeScriptОбходит проверку безопасности и считает переданное значение безопасным JavaScript.
ПРЕДУПРЕЖДЕНИЕ: вызов этого метода с недоверенными пользовательскими данными подвергает ваше приложение риску XSS-атак!
string
SafeScript
bypassSecurityTrustUrl
SafeUrlОбходит проверку безопасности и считает переданное значение безопасным URL стиля, то есть значением, которое можно использовать в гиперссылках или <img src>.
ПРЕДУПРЕЖДЕНИЕ: вызов этого метода с недоверенными пользовательскими данными подвергает ваше приложение риску XSS-атак!
string
SafeUrl
bypassSecurityTrustResourceUrl
SafeResourceUrlОбходит проверку безопасности и считает переданное значение безопасным URL ресурса, то есть адресом, который можно использовать для загрузки исполняемого кода, например <script src> или <iframe src>.
ПРЕДУПРЕЖДЕНИЕ: вызов этого метода с недоверенными пользовательскими данными подвергает ваше приложение риску XSS-атак!
string
SafeResourceUrl
Описание
DomSanitizer помогает предотвращать уязвимости безопасности, связанные с межсайтовым скриптингом (XSS), очищая значения, чтобы их можно было безопасно использовать в различных контекстах DOM.
Например, при привязке URL в гиперссылке <a [href]="someValue"> значение someValue будет очищено, чтобы злоумышленник не мог внедрить, например, URL javascript:, который выполнит код на веб-сайте.
В некоторых случаях может потребоваться отключить очистку, например, если приложению действительно нужно сформировать ссылку со стилем javascript:, содержащую динамическое значение. Пользователи могут обойти проверку безопасности, создав значение с помощью одного из методов bypassSecurityTrust..., а затем привязав это значение в шаблоне.
Такие случаи должны быть очень редкими, и необходимо соблюдать исключительную осторожность, чтобы не создать уязвимость безопасности, связанную с межсайтовым скриптингом (XSS)!
При использовании bypassSecurityTrust... вызывайте метод как можно раньше и как можно ближе к источнику значения, чтобы было проще убедиться, что его использование не создает уязвимость безопасности.
Обходить проверку безопасности не требуется (и не рекомендуется), если значение безопасно, например, если URL не начинается с подозрительного протокола или фрагмент HTML не содержит опасного кода. Санитайзер не изменяет безопасные значения.
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/platform-browser/DomSanitizer