angular如何防止xss攻击

1949idc 2年前 (2024-09-13) 阅读数 431 #智能运维

angular防止xss攻击的示例:

angular提供了一个DomSanitizer服务,提供的方法如下:

export enum SecurityContext { NONE, HTML, STYLE, SCRIPT, URL, RESOURCE_URL }

export abstract class DomSanitizer implements Sanitizer {

// 过滤恶意代码,可设置过滤类型

abstract sanitize(context: SecurityContext, value: SafeValue|string|null): string|null;

// 跳过html的检查

abstract bypassSecurityTrustHtml(value: string): SafeHtml;

// 跳style的检查

abstract bypassSecurityTrustStyle(value: string): SafeStyle;

// 跳过script的检查

abstract bypassSecurityTrustScript(value: string): SafeScript;

// 跳过style的检查

abstract bypassSecurityTrustUrl(value: string): SafeUrl;

// 跳过url的检查

abstract bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl;

}

应该该服务进行防止xss攻击,例如:

// html

An untrusted URL:

Click me

A trusted URL:

Click me

// js

import { DomSanitizer } from '@angular/platform-browser';

@Component({

...

})

export class DemoComponent {

constructor(private sanitizer: DomSanitizer) {

}

this.dangerousUrl = 'javascript:alert("Hi there")';

// 人为信任该url

this.trustedUrl = sanitizer.bypassSecurityTrustUrl(this.dangerousUrl);

}

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业