今天我们来聊聊防盗链机制
💨 作者:laker,因為喜歡LOL滴神faker,又是NBA湖人隊🏀(laker)粉絲兒(主要是老詹的粉絲兒),本人又姓李,故取筆名:laker
??喜歡分享自己工作中遇到的問題和解決方案,以及一些讀書筆記和心得分享。
🌰本人創建了微信公眾號【Java大廠面試官】,用于和大家交流分享
🏰 個人微信【lakernote】,加作者備注下暗號:cv之道。
文章目錄
- 前言
- 什么是盜鏈?
- 為什么要做防盜鏈?
- 如何實現防盜鏈呢?
- 如何破解防盜鏈?
前言
今天我的一位公眾號讀者告訴我,昨天發的文章【今天來聊一聊什么是軟件設計中的上游和下游?】裂開了,我打開一看果不其然,如下圖:
可惡的防盜鏈機制,這不是什么彩蛋,這真的是踩雷了,因為我寫文章會同時發布在csdn【名稱:lakernote,歡迎大家同時關注】和公眾號,所以自己搞了個圖床,但是現在很多圖床或者網站都會有防盜鏈機制,才導致了這個悲劇,那么剛好借此機會來研究下防盜鏈相關知識吧🌹🌹🌹(因禍得福系列,剛好不知道寫什么,就送上門了)。
熟悉我的人,可能已經知道分析的套路了,3w三板斧。
什么是盜鏈?
我舉個例子
比如我想搞個資源搜索系統,就是管理搜索常見的資源(圖片、音樂、視頻、文檔等),但是我又沒有那么多錢去買流量和存儲空間,所以啊我就去其他很大的網站比如騰訊、愛奇藝等等,直接把他們的資源地址放到我的網站上,那么我就不需要去花大價錢去存儲這些資源,豈不是美滋滋!
盜鏈:未經他人同意,盜取他們的資源鏈接為自己所用,占用他們的空間和帶寬。
為什么要做防盜鏈?
通過上個例子,就很容易回答這個問題,典型的借雞生蛋,感覺被綠了啊,必須干他啊。
盜鏈者盜取了網站的空間和流量,獲取利益卻不承擔了資源使用費,為了防止這種行為越來越多的站點都開始實施防盜鏈技術。
看個微信的防盜鏈例子,還是上面的圖哈。
但是如果我在自己的網站引入,例如:
<img src="https://mmbiz.qpic.cn/mmbiz_png/YicnX8X2UoH4ZicHvx9fe28x9TvDMAM19U3huKyf0ibO96YahxhriajoXZLXSKXfZLu84n4XvekyoxZTu0ThnERtoA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1"/>微信的防盜鏈效果如下:
如何實現防盜鏈呢?
🔓當客戶端(瀏覽器)向服務器請求內容的時候,會提交一個header,這個header中包含了如:瀏覽器信息、cookie等內容,那么有一個叫referer的東東,也包含在這里面。
referer是干啥用的呢?
Http協議又學習到一手,之前還有一手Http狀態碼301、302區別【工作這么久,你應該知道的短鏈接架構設計!】
它就是告訴服務器,這個請求的來源是誰,比如:從頁面A跳轉到頁面B,那么頁面B收到的referer就是頁面A。
但是在圖片身上和這個有點不同,圖片是在html頁面加載完畢后才加載的,所以圖片收到的referer不是網頁的上一個頁面,而是當前頁面。
說這么多,不要被說繞了,簡單點就是:對于圖片而言,收到的referer就是引用圖片的這個網頁的網址。
那么現在的很多網站是如何利用referer來進行防圖片盜鏈的呢?
幾種情況下允許引用圖片:
- 本網站。
- 無referer信息的情況。(服務器認為是從瀏覽器直接訪問的圖片URL,所以這種情況下能正常訪問)
- 白名單網址。
- 登錄校驗(如必須登錄網站帳號后才能訪問)
如何破解防盜鏈?
本來不想講的,畢竟這也太不道德了🐶。。。
粗略的講幾個方案,自己去體會吧 🔑 🔑 🔑
- 如果盜用圖片資源是http協議那么盜用網址可以使用 https 去請求會因為安全性的規定,而不帶 referer,從而實現防盜鏈的繞過。
- 在 HTML 代碼的 head 中添加一句 <meta name="referrer" content="no-referrer" />
- <img referrer="no-referrer|origin|unsafe-url" src="{item.src}"/>
- 利用iframe偽造請求referer
- 客戶端請求頭是不可信的,服務端模擬成客戶端然后偽造請求頭referer
具體方案,可以加我個人微信單聊哦【lakernote】
參考:
https://juejin.cn/post/6844903825124360200
https://www.zhihu.com/question/35044484/answer/116103504
QQ群【837324215】
關注我的公眾號【Java大廠面試官】,回復:常用工具、資源等關鍵詞(更多關鍵詞,關注后注意提示信息)獲取更多免費資料。
公眾號也會持續輸出高質量文章,和大家共同進步。
總結
以上是生活随笔為你收集整理的今天我们来聊聊防盗链机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Parker - 最高效的自动标注工具
- 下一篇: 如何把程序员从久坐颈椎病中拯救出来?我为