在Angular中,可以通过在HTTP拦截器中添加标头来发送防跨站点请求伪造标记。例如:
import { Injectable } from '@angular/core'; import { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';
@Injectable()
export class AntiforgyInterceptor implements HttpInterceptor {
intercept(req: HttpRequest
const antiforgyToken = this.getAntiforgyToken(); // 自己实现获取AntiforgyToken的方法
const modifiedReq = req.clone({
headers: req.headers.set('X-CSRF-TOKEN', antiforgyToken)
});
return next.handle(modifiedReq);
}
private getAntiforgyToken() { // 从你的后端API获取AntiforgyToken const antiforgyToken = 'abc1234'; return antiforgyToken; } }
import { NgModule } from '@angular/core'; import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { AntiforgyInterceptor } from './antiforgy-interceptor';
@NgModule({ providers: [ { provide: HTTP_INTERCEPTORS, useClass: AntiforgyInterceptor, multi: true } ] }) export class AppModule {}
现在,每个发出的 HTTP 请求都会自动添加防跨站点请求伪造标记了。
上一篇:Angular没有返回预期的值
下一篇:Angular没有发送请求头值