可搜索,可注册,可登录,致敬逗比大佬!尽在救援版逗比根据地 dbgjd.com
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程

解决新浪图床图片开始启用防盗链,即图片 403 的方法

News lee_avison1960 73℃ 0评论

文章转自:https://www.zrahh.com/archives/461.html
已经有大佬写出解决方法了,试了试的确可以解决问题~

2019年4月27日以下方法已失效,目前最稳妥方法就是反代
解决新浪图床图片开始启用防盗链,即图片 403 的方法


新浪图床可以说是目前使用最广泛的图床之一,今日见群里各大博主纷纷吐槽,新浪图床疑似已经开始限制外链,网站内图片纷纷呈现 403 的惨状,于是这里给出一种 PHP 反防盗链的方法。

一. PHP 代码

新建一个 sina.php 文件放在根目录,然后将以下代码复制进去。

<?php $url = $_GET["url"]; $dir = pathinfo($url); $host = $dir['dirname']; $refer = $host.'/';  $ch = curl_init($url); curl_setopt ($ch, CURLOPT_REFERER, $refer); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//激活可修改页面,Activation can modify the page curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); $data = curl_exec($ch); curl_close($ch);  $ext = strtolower(substr(strrchr($img,'.'),1,10)); $types = array(             'gif'=>'image/gif',             'jpeg'=>'image/jpeg',             'jpg'=>'image/jpeg',             'jpe'=>'image/jpeg',             'png'=>'image/png', ); $type = $types[$ext] ? $types[$ext] : 'image/jpeg'; header("Content-type: ".$type); echo $data; 

二. 修改图片链接

由于文章基本都是存在于数据库中,这里提供的两种方法都是针对数据库的。

1. 执行 SQL 语句

UPDATE `typecho_contents` SET `text` = REPLACE(`text`, 'https://sina.5ime.cn', 'https://你的域名/sina.php?url=https://sina.5ime.cn') WHERE `text` LIKE '%https://sina.5ime.cn%' 

示例前缀是ws3,若有其他,自行修改即可。Typecho 用户替换语句中你的域名以及新浪的域名,其他建站系统请自行修改相应的表名及字段。
这里还可能不止一个表中存在新浪图床的图片,例如 Links 插件的 image 字段也有可能出现图片,具体情况,具体分析。

2. 编辑器替换

解决新浪图床图片开始启用防盗链,即图片 403 的方法
此方法简单实用,推荐使用这种方法
首先将数据库导出,用编辑器打开.sql文件,例如我这里使用Sublime Text 3,直接按图中替换即可。另外请多查找一下其他二级域名,避免漏网之鱼。

转载请注明:逗比根据地 » 解决新浪图床图片开始启用防盗链,即图片 403 的方法

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址