跨域访问图片403

在本地页面里用img标签访问页面图片返回403 forbidden。
而浏览器可以直接打开。好像是他们的服务器做了处理。

在html中加了<meta name="referrer" content="no-referrer" /> 解决
 

<img referrerpolicy="no-referrer" /> 有时并不能解决问题;

所以可以 nginx 反向代理图片,配置:

location /biliproxy/i0hdslbcom {
    proxy_pass "http://i0.hdslb.com/";
        proxy_set_header Connection "keep-alive";
        proxy_set_header Referer "https://www.bilibili.com";
        proxy_set_header Host "i0.hdslb.com";
 }

 

### HTTP 403 Forbidden 错误当加载图片时的解决方案 服务器返回403禁止错误意味着客户端发出的请求被服务器理解,但由于缺乏权限而拒绝执行[^1]。这种情况可能发生在尝试加载图片资源的时候。 #### 原因分析 - **文件权限设置不当**:Web服务器上的目标图片文件或目录具有严格的读取/写入权限,阻止了来自外部网络的正常访问- **IP地址黑名单**:某些网站会维护一个IP地址列表,用来屏蔽那些被认为可疑或者有害的流量源。如果用户的IP位于这个名单内,则会被拒之门外。 - **.htaccess配置问题**:Apache等基于Unix系统的web server可能会通过`.htaccess` 文件中的指令限制对特定URL路径下的资源进行访问控制。 - **资源共享(CORS)**政策:现代浏览器实施同源策略(Same-Origin Policy),除非明确允许,否则不允许网页脚本向不同于该页面当前协议、名或端口的另一个名发送HTTP请求获取数据。因此,即使图片确实存在于指定位置,但如果CORS头未正确设置也可能引发此问题。 #### 解决方案建议 针对上述每种情况可采取如下措施: ##### 修改文件权限 确保图片所在的文件夹及其子文件拥有适当的操作权限,一般情况下755 (rwxr-xr-x) 对于大多数Linux环境而言是比较安全的选择;而对于Windows IIS服务则需确认IUSR账户有足够的权利去浏览相应的内容。 ##### 检查并移除IP封锁 联系站点管理员查询是否存在针对自己所在地区的IP封禁行为,并申请解封。如果是个人开发测试阶段遇到此类状况,可以直接编辑防火墙规则或是相关日志记录排除不必要的拦截动作。 ##### 审核.htaccess规则集 仔细审查项目根目录下是否有影响静态资源分发的特殊命令存在,比如Deny from all之类的语句应当谨慎对待以免造成意外后果。另外还需注意RewriteRule重定向逻辑是否合理有效。 ##### 设置合适的CORS头部信息 为了让远程主机能够顺利接收到来自不同来源的数据包响应,在API网关处添加Access-Control-Allow-Origin字段指明哪些网址可以合法发起预检请求(pre-flight request)以及实际请求(real request)。例如: ```http Access-Control-Allow-Origin: * ``` 以上便是关于处理HTTP 403 forbidden error when loading images的一些常见思路与技巧。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值