[nginx/openresty]代理请求修改referer,破解防盗链

/ 191,954评论 / 537907阅读 / 17点赞

有时我们想引用其他网站的资源(图片,视频等),明明在其网站上可用,而我们发送请求时却得到了403错误,访问被拒绝,很可能就是该网站对这些资源文件设置了防盗链,下面我们聊聊其防盗的原理以及破解方法。

名词

防盗链

Referer

Origin

破解防盗链

直接伪造请求

这个方法适用于客户端,而不适用于浏览器中的网页。

const axios = require(`axios`);
const getServer = (in_url, in_data, successFun, errFun) => {
    axios({
        method: "get",
        url:    in_url,
        params: in_data,
        headers: {
            "referer":"https://www.bilibili.com/"

            //"referer":"https://127.0.0.1/"  //你可以尝试使用这一句替换上面那句,请求将被拒绝
        }
    }).then(function (res) {
        console.log(res.data);
        if (typeof (successFun) != 'undefined') {
            successFun(res);
        }
        console.log("--- 请求成功 ---");
    }).catch(function (err) {
        console.log(err);
        if (typeof (errFun) != 'undefined') {
            errFun(err);
        }
        console.log("--- 请求失败 ---");
    })
}

//获取对应id的视频的下载链接
getServer(
    "https://api.bilibili.com/x/player/playurl",
    {
        "fnval": 80,
        "bvid":"BV1pT41157it",
        "cid":"746904707"
    });

代理转发

客户端,网页都适用,但一般客户端不需要由服务器代理,客户端自己可以搞定,就不需要占用服务器的带宽性能

server {
        listen       80;
        server_name  localhost, 127.0.0.1;
	resolver 8.8.8.8;
        location / {
		header_filter_by_lua_file /usr/local/openresty/lua/toBili.lua;
                proxy_set_header referer 'https://www.bilibili.com/';
		proxy_set_header Host $proxy_host;
		proxy_set_header Origin 'https://www.bilibili.com';
		if ($query_string ~* ^(.*)url=(.*)$) {
			proxy_pass $2;
		}
	}
}
ngx.header['Access-Control-Allow-Origin']  =  '*';
ngx.header['Access-Control-Allow-Methods'] = 'get, post, options';
ngx.header['Access-Control-Allow-Headers'] = 'dnt,x-mx-reqtoken,keep-alive,user-agent,x-requested-with,if-modified-since,cache-control,content-type,authorization';

关于空referer

<!DOCTYPE html>
<html lang="zh">
<head>

    <meta name="referrer" content="never">
</head>
<body>
</body>

摸索过程记录

add_header Access-Control-Allow-Origin '*';
add_header Access-Control-Allow-Methods 'POST,OPTIONS,GET';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

思考

上面的示例中,我们在使用时,只能也必须传入一个参数 url,那有没有办法传递更多参数呢?

  1. Jamesjer说道:

    how much is amoxicillin prescription: amoxicillin order online no prescription – how to get amoxicillin

  2. Jamesjer说道:

    ciprofloxacin generic: buy cipro online canada – buy generic ciprofloxacin

  3. Historical trauma is the notion that people of certain identity groups may develop similar reactions to violence or oppression directed toward their collective communities throughout history.ラブドール 動画when Black people feel anguish,

  4. Jamesjer说道:

    doxycycline prescription: doxycycline 100mg price 1mg – doxycycline 50 mg coupon

  5. ThomasInace说道:

    https://ciprodelivery.pro/# ciprofloxacin mail online

  6. エロ ラブドールmoderation,and even superficial kindness or remorse,

  7. Jamesjer说道:

    amoxicillin script: buy amoxicillin canada – how to get amoxicillin

  8. ThomasInace说道:

    http://amoxildelivery.pro/# buy amoxicillin 500mg

  9. ThomasInace说道:

    https://doxycyclinedelivery.pro/# doxycycline buy online us

  10. Jamesjer说道:

    doxycycline cap price: doxycycline 100mg no prescription fast delivery – order doxycycline without prescription

  11. Jamesjer说道:

    paxlovid cost without insurance: paxlovid for sale – п»їpaxlovid

  12. DavidWaype说道:

    indianpharmacy com: pharmacy website india – buy prescription drugs from india

  13. Michaelpiepe说道:

    pharmacy website india: п»їlegitimate online pharmacies india – indianpharmacy com

  14. DavidWaype说道:

    buying prescription drugs in mexico: medication from mexico pharmacy – mexican mail order pharmacies

  15. DavidWaype说道:

    mexico drug stores pharmacies: mexican mail order pharmacies – п»їbest mexican online pharmacies

  16. DavidWaype说道:

    Online medicine order: Online medicine order – buy medicines online in india

  17. Michaelpiepe说道:

    best online pharmacies in mexico: reputable mexican pharmacies online – mexican online pharmacies prescription drugs

  18. DavidWaype说道:

    mexico pharmacies prescription drugs: mexico pharmacy – mexican border pharmacies shipping to usa

  19. Michaelpiepe说道:

    online shopping pharmacy india: reputable indian online pharmacy – indian pharmacy online

  20. DavidWaype说道:

    canadian pharmacy 365: canadian pharmacy meds review – canadian pharmacy online reviews

  21. DavidWaype说道:

    reputable indian pharmacies: india online pharmacy – Online medicine home delivery

  22. Michaelpiepe说道:

    cheapest online pharmacy india: world pharmacy india – world pharmacy india

  23. Fort lauderdale说道:

    Hello there! This post couldn’t be written any better! Looking through this post reminds me of my previous roommate! He constantly kept preaching about this. I will forward this post to him. Pretty sure he will have a very good read. Many thanks for sharing!

  24. Michaelpiepe说道:

    canadian online pharmacy: canadian pharmacy no scripts – legitimate canadian online pharmacies

  25. Charlestaf说道:

    drugs from canada canadian pharmacy best canadian pharmacy to buy from

  26. Michaelpiepe说道:

    mexican pharmaceuticals online: mexico drug stores pharmacies – mexico drug stores pharmacies

  27. EdwardKib说道:

    http://foruspharma.com/# п»їbest mexican online pharmacies

  28. Charlestaf说道:

    indian pharmacy paypal cheapest online pharmacy india pharmacy website india

  29. Michaelpiepe说道:

    best canadian pharmacy online: online canadian pharmacy – canadian drug pharmacy

  30. DavidWaype说道:

    mexico drug stores pharmacies: medication from mexico pharmacy – buying prescription drugs in mexico online

  31. Michaelpiepe说道:

    best online pharmacy india: indian pharmacy paypal – india pharmacy mail order

  32. DavidWaype说道:

    mexican online pharmacies prescription drugs: mexican border pharmacies shipping to usa – purple pharmacy mexico price list

  33. Charlestaf说道:

    my canadian pharmacy reviews reddit canadian pharmacy canadian pharmacy checker

  34. EdwardKib说道:

    https://foruspharma.com/# buying from online mexican pharmacy

  35. DavidWaype说道:

    п»їlegitimate online pharmacies india: cheapest online pharmacy india – mail order pharmacy india

  36. DavidWaype说道:

    mexican mail order pharmacies: mexican rx online – buying prescription drugs in mexico

  37. DavidWaype说道:

    indian pharmacy paypal: mail order pharmacy india – best online pharmacy india

  38. EdwardKib说道:

    http://canadapharmast.com/# canadian pharmacy meds

  39. DavidWaype说道:

    top 10 pharmacies in india: top 10 online pharmacy in india – india online pharmacy

  40. Charlestaf说道:

    mexican drugstore online reputable mexican pharmacies online mexico pharmacy

  41. EdwardKib说道:

    http://canadapharmast.com/# global pharmacy canada

  42. پیچ و مهره هدلایت

  43. Michaelpiepe说道:

    india pharmacy mail order: pharmacy website india – buy medicines online in india

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注