首先告诉你们跟一件很不幸的事!新浪图床开启防盗链了!
下面给出了几种临时解决方法
- 将下面代码加在
<head> </head>
标签中间也可以暂时解决此问题
<meta name="referrer" content="same-origin">
<meta name="referrer" content="no-referrer">
- 直接反代新浪图床域名,缓存越高越好
- 更换图床或者将图片本地化储存
将下面内容放到 Nginx 战地配置文件里
add_header Referrer-Policy "no-referrer";
5.虚拟主机建站没有权限可以把以下代码保存为 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://fairysen.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
倒是没有问题。
注:方法1 和 方法4 会导致站点统计不准确或者无法使用!
Comments | 1 条评论
博主 lcfqc
该评论为私密评论