就在前几日, 微博图床加入了防盗链, 只要你有referer引用就会返回403. 但是直接访问是可以的.
也是我就想, 我能不能用这个方法访问, 用 php 去访问然后再去返回呢. 只要把 img src
全部换掉不就行了吗.
于是, 首先写一个 php ,用它来获取图片,然后返回它。
php
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
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>