当前位置: 首页 > news >正文

网络设计网站多少钱html基础知识思维导图

网络设计网站多少钱,html基础知识思维导图,中国商标注册网官网,中山网红一:错误出现 这个错误的意思是,拒绝将字符串评估为 JavaScript,因为‘unsafe-eval’不是以下内容安全策略中允许的脚本源。 二:错误场景 testEval() {const data eval("var sum2 new Function(a, b, return a b); sum2(em…

一:错误出现

这个错误的意思是,拒绝将字符串评估为 JavaScript,因为‘unsafe-eval’不是以下内容安全策略中允许的脚本源。

二:错误场景

testEval() {const data = eval("var sum2 = new Function('a', 'b', 'return a + b'); sum2('email', 'eval');");const sum = new Function('a', 'b', 'return a + b');console.log('test eval:', data);}

类似的不安全的表达式还有:

  1. eval()
  2. Function() ——When passing a string literal like to methods like: setTimeout("alert(\"Hello World!\");", 500);
  3. setTimeout()
  4. setInterval()
  5. window.setImmediate
  6. window.execScript() (IE < 11 only)

三,错误原因

因为我的安全策略(CSP)白名单中并不包含‘unsafe-eval’这个选项。所以抛出了异常。

不包含‘unsafe-eval’的理由是eval 实际上是不安全的。 它在每种语言中的意思是“获取这个字符串并执行它的代码”。 也就是说eval本质是将字符串转成表达式并执行。容易遭到注入攻击。

四,错误解决

1尽量避免使用eval方法,大多数情况下,eval方法是可以被避免的。可以使用lint检查项目中是否含有eval方法 no-eval - ESLint - Pluggable JavaScript Linter

上述的代码可以这样更改,代码正常工作

testEval(): string {const sum1: Function = (a: string, b: string) => { return a + b };return sum1('test', 'eval');}

2如果有时候,必须动态生成方法,这部分工作可以放到服务端完成。而不是把‘unsafe-eval’加入到CSP白名单中。

上述代码还可以这样更改,代码正常工作

testEvalSolutionTwo(): Observable<Object> {return this.http.get(this.rootURL + '/test/eval');}

五,CSP的配置补充

CSP可以在三个地方配置

1:拦截器

import { requestInterceptor } from './http/request.intercepter';
@NgModule({.. .. ..providers: [{provide: HTTP_INTERCEPTORS,useClass: requestInterceptor,multi: true}],bootstrap: [AppComponent]
})
export class AppModule { }import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';@Injectable()
export class requestInterceptor implements HttpInterceptor {constructor() {}intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {req.headers.append('Content-security-policy', `script-src 'self';`);return next.handle(req);}
}

2:html文件

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; child-src 'none';">

3:server端(推荐)

app.use(function (req, res, next) {res.setHeader('Content-security-policy',`script-src 'self';` +`connect-src 'self';`,);next();
});

CSP文档参见:CSP: script-src - HTTP | MDN

http://www.yayakq.cn/news/9956/

相关文章:

  • 泉州手机网站建设公司哪家好wordpress 云存储
  • 招聘 网站建设开发工具里的选项都是灰色的
  • 北京建设协会网站app开发企业在选择上一般优先开
  • 北京朝阳区地图seo排名优化推荐
  • 在电脑上做二建题 哪个网站好个人做理财网站
  • 设计网站用什么语言小门户网站模版
  • 高端建网站多少钱网页广告费一般多少钱
  • 网站 备案 几天做网站时怎么透明化
  • 网站开发技术路线图网站上线倒计时html5模板
  • 做网站登录电商网站的支付模块怎么做
  • 福州建网站,做网页宠物网站设计的代码
  • 营销网站建设的步骤过程wordpress 4.7 暴路径
  • 做网站安全认证目前网站是做响应式的好吗
  • 建设网站对服务器有什么要求吗什么是网站优化
  • 网站建设包括哪些方面增加网站点击量
  • 济南制作网站的公司在您的网站首页添加标签
  • 怎样建立网站秦皇岛app开发公司
  • 网站转化微信小程序导视设计案例
  • 什么是网站管理系统快速排名网站
  • 门户网站开发过程dw做网站投票
  • 网站 尺寸个人博客有哪些网站
  • 做摄影的网站知乎正规小说分销平台
  • 威海外贸网站建设多少钱想做seo哪里有培训的
  • 衡水精品网站建设报价好的公文写作网站
  • 做押韵句子的网站郑州网站制作公司怎么样
  • 个人如何做一个网站彭州网站建设
  • 如何建设网站建设博物馆网站建设方案
  • 网站存在原理中英文双语网站 滑动切换
  • 网站开发需要代码吗网站制作课题组
  • 百度怎么对网站处罚内容平台策划书