2019.5.3 新浪图床不能使用了?反代它!

发布于 19 天前  483 次阅读


前言

新浪图床自从上个月底就开始关闭外链了 博客一堆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;
}

授权地址改为你自己的域名

伪静态

APACHE

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^sina$ sina.php [L,QSA]
    RewriteRule ^sina/(.*?)$ sina.php?md5=$1 [L,QSA]
</IfModule>

NGINX

rewrite ^/sina$ /sina.php last;
rewrite ^/sina/(.*?)$ /sina.php?md5=$1 last;

使用

旧地址:https://ws4.sinaimg.cn/large/87c01ec7gy1frmr2kh3xkj21kw0w0e8e.jpg
新地址:https://你的域名/sina/large/87c01ec7gy1frmr2kh3xkj21kw0w0e8e.jpg

公交车司机终于在众人的指责中将座位让给了老太太