Refused to load the script xxxxxx because it violates the following Content Security Policy directiv...

今天在公司碰到一个这样的问题:大致问题是这样的,我把新生成的国外cdn路径放到页面上来用来查看,发现会出现如下类似的错误信息

Refused to load the script xxxxxx because it violates the following Content Security Policy directive:"script-src 'self' xxxxxxxxxxxxx"

原图已经没了,我在阮一峰的博客上把这张图贴上来,这个问题主要是由于浏览器为了防止跨域脚本攻击,而推出"网页安全政策"(Content Security Policy,缩写 CSP),

而我的nginx服务器开启了CSP,所以在对另一个域名下的资源就不能启动js脚本。

CSP的含义如下:

#激活内容安全策略Content Security Policy (CSP) ,大部分浏览器支持
# 告诉浏览器只能从本域名和你显式指定的网址下载脚本。

接着就是修改nginx配置,了解以下概念,我找到原先unsafe-inline 指向的cdn域名,利用通配符*使得该所有二级域名都符合unsafe-inline 

最后访问成功!

 总结:首先你已经把资源文件放入到服务器上,配置好了nginx,能正常运行,这时你想对浏览器做一个限制,想弄的安全一点,不想让外人对你的网站注入病毒脚本,所以你在nginx配置上添加 add_header  Content-Security-Policy ,把你需要访问的url写进去 ,这样就  算完成CSP了。 

转载于:https://www.cnblogs.com/Hwangzhiyoung/p/9146740.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值