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

/ 176,852评论 / 421697阅读 / 14点赞

有时我们想引用其他网站的资源(图片,视频等),明明在其网站上可用,而我们发送请求时却得到了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. Jamescix说道:

    prednisone price: prednisone 5 mg tablet – can you buy prednisone without a prescription

  2. JamesBoupe说道:

    купить клон карты
    Изготовление и использование копий банковских карт является неправомерной практикой, представляющей важную угрозу для безопасности финансовых систем и личных средств граждан. В данной статье мы рассмотрим потенциальные опасности и последствия покупки копий карт, а также как общество и силовые структуры борются с подобными преступлениями.

    “Дубликаты” карт — это поддельные реплики банковских карт, которые используются для несанкционированных транзакций. Основной метод создания реплик — это хищение данных с оригинальной карты и последующее кодирование этих данных на другую карту. Злоумышленники, предлагающие услуги по продаже клонов карт, обычно действуют в теневой сфере интернета, где трудно выявить и пресечь их деятельность.

    Покупка копий карт представляет собой серьезное преступление, которое может повлечь за собой трудные наказания. Покупатель также рискует стать пособником мошенничества, что может привести к наказанию по уголовному кодексу. Основные преступные действия в этой сфере включают в себя кражу личной информации, подделывание документов и, конечно же, финансовые мошенничества.

    Банки и органы порядка активно борются с незаконными действиями, связанными с клонированием карт. Банки внедряют последние технологии для распознавания подозрительных транзакций, а также предлагают услуги по безопасности для своих клиентов. Органы порядка ведут следственные мероприятия и задерживают тех, кто замешан в изготовлении и реализации клонов карт.

    Для обеспечения безопасности важно соблюдать осторожность при использовании банковских карт. Необходимо регулярно проверять выписки, избегать сомнительных сделок и следить за своей индивидуальной информацией. Знание и информированность об угрозах также являются основными средствами в борьбе с финансовыми махинациями.

    В заключение, использование реплик банковских карт — это противозаконное и неприемлемое деяние, которое может привести к существенным последствиям для тех, кто вовлечен в такую практику. Соблюдение мер предосторожности, осведомленность о возможных угрозах и сотрудничество с органами порядка играют важную роль в предотвращении и пресечении аналогичных преступлений

  3. Davidham说道:

    lisinopril 5 mg uk price lisinopril 40 mg cost lisinopril price without insurance

  4. Jamescix说道:

    buy lisinopril mexico: zestril 40 mg – lisinopril 10 mg pill

  5. Charlesflarm说道:

    https://furosemide.guru/# lasix generic name

  6. Jamescix说道:

    lisinopril prescription coupon: lisinopril online – how much is lisinopril 10 mg

  7. Leonardlex说道:

    ivermectin 80 mg: ivermectin nz – ivermectin 5

  8. Davidham说道:

    lasix 100 mg tablet Over The Counter Lasix furosemide

  9. Leonardlex说道:

    ivermectin 0.5% brand name: stromectol ivermectin tablets – ivermectin 18mg

  10. Davidham说道:

    buy prednisone online without a script 80 mg prednisone daily 1 mg prednisone daily

  11. بهترین کلینیک کاشت مو

  12. Charlesflarm说道:

    https://buyprednisone.store/# prednisone 50 mg tablet cost

  13. Jamescix说道:

    buy furosemide online: Over The Counter Lasix – lasix 100mg

  14. Jamescix说道:

    prednisone 4mg tab: prednisone 20 mg – prednisone 1 mg tablet

  15. Stephenvew说道:

    http://furosemide.guru/# lasix generic

  16. Davidham说道:

    lasix pills Buy Lasix lasix pills

发表回复

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