前言
前几天看到群里在讨论这件事,有些人的博客,打开主页图片全挂……
用的明明是新浪图源啊!新浪不可能跑路吧?
结果,直接访问没有问题,就是不能引用,全部 403 了。
于是乎,各路大神给出方案,其中要说宝塔面板最简单了,不过用的是主机没有权限怎么办?
用 PHP 解决吧!
开工
把以下代码保存为 sina.php 文件。
<?php
error_reporting(E_ERROR);
function sina_curl($address)
{
$ch = curl_init($address);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_exec($ch);
$info = curl_getinfo($ch);
header("Content-Type:" . $info['content_type']);
echo curl_exec($ch);
curl_close($ch);
}
$source_main = $_SERVER['HTTP_REFERER']; // 获取来源信息
$source_url = parse_url($source_main);
$home_main = 'https://haremu.com/'; // 指定授权地址
$home_url = parse_url($home_main);
function curl_ok()
{
if ($_GET['md5']) {
$source_value = trim($_GET['md5']);
sina_curl('https://ws4.sinaimg.cn/' . $source_value);
} else {
echo '请传入参数!';
}
}
if ($source_main) {
if ($source_url['host'] != $home_url['host']) {
echo '请不要盗链!';
die;
} else {
curl_ok();
die;
}
} else {
curl_ok();
die;
}
授权地址改为你自己的域名。
再把以下代码保存为 .htaccess 文件(Apache 伪静态文件)。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^sina$ sina.php [L,QSA]
RewriteRule ^sina/(.*?)$ sina.php?md5=$1 [L,QSA]
</IfModule>
这两个文件放到你的网站根目录下,再把你网站中新浪图源的地址修改下,参考如下:
旧地址:https://ws4.sinaimg.cn/large/87c01ec7gy1frmr2kh3xkj21kw0w0e8e.jpg
新地址:https://你的域名/sina/large/87c01ec7gy1frmr2kh3xkj21kw0w0e8e.jpg
注意
如果你的主机是 Nginx 的,那我就不会写它的伪静态啦……
不用伪静态,是无法引用反代图片的噢,直接访问 URL 倒是没有问题。
以上。
叨叨几句... 40 条评论
青山 博主
你太恶毒了,居然反代它。
后宫学长 博主
@青山
哎,我可不想把图片下载到服务器呢…
BlogWall 博主
使用七牛云吧,感觉很不错。
后宫学长 博主
@BlogWall
嘿嘿,我目前选择的是本地存储。
爱猫的男孩 博主
文章从不放图片的我,无所畏惧。哈哈哈
后宫学长 博主
@爱猫的男孩
你强。
Xinger 博主
再透露一个方法
可以用 WordPress 的一个缓存服务器反代新浪的图片
比如:https://i0.wp.com/新浪图床链接
示例:https://i0.wp.com/ws4.sinaimg.cn/large/007iuyE8gy1g2g8p3ovr3j30t314lhdt.jpg
后宫学长 博主
@Xinger
666,谁弄的呀。
Xinger 博主
@后宫学长
这个是 WordPress 官网的服务器
后宫学长 博主
@Xinger
简直神仙操作。
Xinger 博主
@后宫学长
话说能转一下你这个贴子吗
后宫学长 博主
@Xinger
欢迎。
Xinger 博主
@后宫学长
好嘞
Xinger 博主
@后宫学长
话说你这个代码高亮插件用的是啥啊
后宫学长 博主
@Xinger
使用(PRISM.JS)脚本的插件就可以了。
我用的是编辑器自带的。
灰常记忆 博主
图床都不靠谱,我还是放在自己的机器上。
后宫学长 博主
@灰常记忆
很巧,我也是。