JavaScript 防盜鏈的原理以及破解方法
HTTP Referer是header的一部分, 當瀏覽器向web服務(wù)器發(fā)送請求的時候,一般會帶上Referer,告訴服務(wù)器我是從哪個頁面鏈接過來的,服務(wù)器藉此可以獲得一些信息用于處理。通過該頭域的值,我們可以檢測到訪問目標資源的源地址
背景前段日子 在自學做項目的時候發(fā)現(xiàn) 明明在項目中引用了線上存在的圖片 但是在自己的項目中卻怎么也顯示出來
查閱資料后發(fā)現(xiàn)是這些第三方網(wǎng)站設(shè)置了防盜鏈
破解防盜鏈先說說防盜鏈的原理,http 協(xié)議中,如果從一個網(wǎng)頁跳到另一個網(wǎng)頁,http 頭字段里面會帶個 Referer。
這里的Referer是由于歷史原因?qū)е铝似磳戝e誤 后來也就一直沿用。
圖片服務(wù)器通過檢測 Referer 是否來自規(guī)定域名,來進行防盜鏈。
如果盜用網(wǎng)站是 https 的 protocol,而圖片鏈接是 http 的話,
則從 https 向 http 發(fā)起的請求會因為安全性的規(guī)定,而不帶 referer,從而實現(xiàn)防盜鏈的繞過。
官方輸出圖片的時候,判斷了來源(Referer),就是從哪個網(wǎng)站訪問這個圖片,
如果是你的網(wǎng)站去加載這個圖片,那么Referer就是:你的網(wǎng)站地址;
你網(wǎng)站地址,肯定沒在官方的白名單內(nèi),所以就看不到圖片了。
因此,若不發(fā)送Referer,也就是沒有來源。那么官方那邊,就認為是從瀏覽器直接訪問的,所以就能加載正常的圖片了。
<meta name='referrer' content='never'>
比如在掘金上 查看我的一篇文章中一張圖片的Request Headers 就可以看到Referer

以上就是JavaScript 防盜鏈的原理以及破解方法的詳細內(nèi)容,更多關(guān)于JavaScript 防盜鏈的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. ASP動態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗分享2. vue項目登錄成功拿到令牌跳轉(zhuǎn)失敗401無登錄信息的解決3. php使用正則驗證密碼字段的復(fù)雜強度原理詳細講解 原創(chuàng)4. JSP+Servlet實現(xiàn)文件上傳到服務(wù)器功能5. 淺談由position屬性引申的css進階討論6. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向7. 基于javaweb+jsp實現(xiàn)企業(yè)財務(wù)記賬管理系統(tǒng)8. CSS可以做的幾個令你嘆為觀止的實例分享9. vue前端RSA加密java后端解密的方法實現(xiàn)10. asp批量添加修改刪除操作示例代碼

網(wǎng)公網(wǎng)安備