前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >微博图床失效? 笨办法解决

微博图床失效? 笨办法解决

作者头像
Innei
发布2021-12-28 14:35:37
发布2021-12-28 14:35:37
88000
代码可运行
举报
文章被收录于专栏:静之森静之森
运行总次数:0
代码可运行

就在前几日, 微博图床加入了防盗链, 只要你有referer引用就会返回403. 但是直接访问是可以的.

也是我就想, 我能不能用这个方法访问, 用 php 去访问然后再去返回呢. 只要把 img src 全部换掉不就行了吗.

建立微博图床镜像

于是, 首先写一个 php ,用它来获取图片,然后返回它。

php

代码语言:javascript
代码运行次数:0
复制
1<?php
2
3if (!preg_match('/blog.yiny.ml/i',$_SERVER['HTTP_REFERER']) && !preg_match('/shizuri.net/i',$_SERVER['HTTP_REFERER']) && !preg_match('/yinys.tk/i',$_SERVER['HTTP_REFERER'])){
4	echo $_SERVER['HTTP_REFERER'];
5}
6else
7{
8tva2.sinaimg.cn/' . $_GET['src'];
9
10$file_data = file_get_contents($url);
11
12header("Content-Type: image/jpeg;");
13
14
15echo $file_data;
16}

COPY

其中,第一个 if 用来判断是否是你的站点,用来防滥用。

更改图片引用连接

在每篇文章的 <footer> 标签中,引用如下代码

js

代码语言:javascript
代码运行次数:0
复制
1<script>
2var img_arr = document.querySelectorAll('img[src]');
3
4for (var i = 0; i < img_arr.length; i++ )
5{
6    if(img_arr[i].src.indexOf('.sinaimg') !== -1)
7    {
8        img_arr[i].src = img_arr[i].src.replace(/[A-z]+[0-9].sinaimg.cn/g,'shizuri.net/get_img.php?src='); 
9    }
10}
11  console.clear() ;
12</script>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 建立微博图床镜像
  • 更改图片引用连接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档