解决谷歌浏览器跨域问题has been blocked by CORS policy: The request client is not a secure context and the resou

开发的一个后台项目,需要在浏览器中通过读卡器设备读取身份证信息,使用谷歌打开,报了如下跨域问题:

解决办法


浏览器访问 

chrome://flags/#block-insecure-private-network-requests

 

将第一项设置为 Disabled ;

点击右下角重启浏览器!

避坑啊家人们!坑惨了!!!!

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当遇到 "has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space `local`" 错误时,这是因为浏览器实施了跨源资源共享(Cross-Origin Resource Sharing, CORS)策略,防止非同源(即不同域名或协议、端口)之间的通信,特别是对于那些被认为是私有地址空间(如 `localhost` 或 `file://`)的资源。 这个问题通常发生在以下几个场景: 1. 当你在本地开发环境下尝试从非同源服务器获取数据时。 2. 当你使用 HTTPS 请求访问运行在 `http://` 的本地服务时。 3. 如果你的页面是从 HTTP 协议加载,而请求的目标是使用 HTTPS,也会触发这个限制。 解决办法: 1. **更改服务器配置**: - 如果你是服务器端开发者,你可以设置响应头 `Access-Control-Allow-Origin`,允许特定的来源(如 `*` 允许所有,或指定具体的域名)访问你的资源。对于 `localhost`,可能需要配置为 `*` 或 `http://localhost`。 - 对于 JSONP 或 CORS Preflight 预检请求,确保你的服务器支持这些特性。 2. **使用代理服务器**: - 在开发环境中,你可以设置一个简单的代理服务器(比如使用 Node.js 的 `http-proxy-middleware`),将请求转发到正确的源,这样浏览器就不会再检查 CORS 限制。 3. **使用 `--disable-cors` 或 `--no-referrer` 参数**: - 如果是在 Chrome 或其他支持的浏览器中,你可以临时禁用 CORS 限制来测试,但这仅限于调试阶段,生产环境不可行。 4. **修改浏览器设置**: - 对于某些现代浏览器,可以在开发者工具中临时更改浏览器设置,允许特定请求的跨域访问。但同样不适用于生产环境。 5. **迁移到同一域或安全上下文**: - 将资源部署到相同的域名或使用 HTTPS,以符合 CORS 的安全要求。 记住,CORS 主要用于保护用户隐私和安全,所以只在必要时才绕过它。在实际项目中,确保遵守最佳实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值