微博图床失效? 笨办法解决
就在前几日, 微博图床加入了防盗链, 只要你有referer引用就会返回403. 但是直接访问是可以的.
也是我就想, 我能不能用这个方法访问, 用 php 去访问然后再去返回呢. 只要把 img src
全部换掉不就行了吗.
建立微博图床镜像
于是, 首先写一个 php ,用它来获取图片,然后返回它。
<?php
if (!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'])){
echo $_SERVER['HTTP_REFERER'];
}
else
{
tva2.sinaimg.cn/' . $_GET['src'];
$file_data = file_get_contents($url);
header("Content-Type: image/jpeg;");
echo $file_data;
}
其中,第一个 if
用来判断是否是你的站点,用来防滥用。
更改图片引用连接
在每篇文章的 <footer>
标签中,引用如下代码
<script>
var img_arr = document.querySelectorAll('img[src]');
for (var i = 0; i < img_arr.length; i++ )
{
if(img_arr[i].src.indexOf('.sinaimg') !== -1)
{
img_arr[i].src = img_arr[i].src.replace(/[A-z]+[0-9].sinaimg.cn/g,'shizuri.net/get_img.php?src=');
}
}
console.clear() ;
</script>