最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前端JavaScript解決防盜鏈(Referer Check)圖片加載問(wèn)題的常用方法

 更新時(shí)間:2026年01月07日 08:56:29   作者:檀越@新空間  
防盜鏈(Referer Check)是服務(wù)器通過(guò)檢查請(qǐng)求頭中的 Referer 字段,來(lái)判斷請(qǐng)求是否來(lái)自合法的來(lái)源,本文介紹了解決防盜鏈圖片加載問(wèn)題的幾種常用方法,有需要的可以了解下

防盜鏈(Referer Check)是服務(wù)器通過(guò)檢查請(qǐng)求頭中的 Referer 字段,來(lái)判斷請(qǐng)求是否來(lái)自合法的來(lái)源。如果圖片服務(wù)器啟用了防盜鏈機(jī)制,而你的請(qǐng)求沒(méi)有正確的 Referer 或者 Referer 不在允許的列表中,圖片就無(wú)法加載。

以下是解決防盜鏈圖片問(wèn)題的幾種方法:

1.設(shè)置正確的Referer

如果圖片服務(wù)器允許某些特定的 Referer,你可以在請(qǐng)求中設(shè)置正確的 Referer 字段。

方法

使用 <meta> 標(biāo)簽設(shè)置全局 Referer

<meta name="referrer" content="origin" />

或者:

<meta name="referrer" content="no-referrer-when-downgrade" />

在請(qǐng)求中動(dòng)態(tài)設(shè)置 Referer

如果你是通過(guò) JavaScript 動(dòng)態(tài)加載圖片,可以使用 fetchXMLHttpRequest 設(shè)置請(qǐng)求頭:

fetch(imageUrl, {
  headers: {
    Referer: "https://your-allowed-domain.com",
  },
});

2.使用代理服務(wù)器

如果圖片服務(wù)器對(duì) Referer 的限制非常嚴(yán)格,你可以通過(guò)自己的服務(wù)器代理請(qǐng)求圖片。

方法:

在你的服務(wù)器上設(shè)置一個(gè)代理接口,前端請(qǐng)求你的服務(wù)器,服務(wù)器再去請(qǐng)求圖片并返回給前端。

示例(Node.js + Express):

const express = require("express");
const axios = require("axios");
const app = express();

app.get("/proxy-image", async (req, res) => {
  const imageUrl = req.query.url;
  try {
    const response = await axios.get(imageUrl, {
      responseType: "arraybuffer",
      headers: {
        Referer: "https://your-allowed-domain.com",
      },
    });
    res.set("Content-Type", "image/jpeg");
    res.send(response.data);
  } catch (error) {
    res.status(500).send("Failed to load image");
  }
});

app.listen(3000, () => {
  console.log("Proxy server running on port 3000");
});

前端調(diào)用:

<img
  :src="`/proxy-image?url=${scope.row.avatar}`"
  style="width: 50px; height: 50px; border-radius: 50%"
/>

3.使用no-referrer策略

如果圖片服務(wù)器允許無(wú) Referer 的請(qǐng)求,可以通過(guò)設(shè)置 referrerpolicy 屬性來(lái)禁用 Referer。

方法:

<img> 標(biāo)簽中添加 referrerpolicy 屬性:

<img
  :src="scope.row.avatar"
  style="width: 50px; height: 50px; border-radius: 50%"
  referrerpolicy="no-referrer"
/>

或者在 JavaScript 中動(dòng)態(tài)設(shè)置:

const img = new Image();
img.src = imageUrl;
img.referrerPolicy = "no-referrer";

4.將圖片轉(zhuǎn)換為 Base64

如果圖片較小,可以將圖片轉(zhuǎn)換為 Base64 編碼,直接嵌入到頁(yè)面中,避免發(fā)送額外的請(qǐng)求。

方法:

使用工具或代碼將圖片轉(zhuǎn)換為 Base64 字符串。

示例:

<img
  src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD..."
  style="width: 50px; height: 50px; border-radius: 50%"
/>

5.聯(lián)系圖片服務(wù)器管理員

如果以上方法都無(wú)法解決問(wèn)題,可以嘗試聯(lián)系圖片服務(wù)器的管理員,申請(qǐng)將你的域名加入白名單。

6.使用第三方服務(wù)

一些第三方服務(wù)(如 Cloudflare、imgix 等)可以幫助處理防盜鏈問(wèn)題。你可以將圖片 URL 通過(guò)第三方服務(wù)代理,從而繞過(guò)防盜鏈限制。

總結(jié)

  • 如果圖片服務(wù)器允許無(wú) Referer 請(qǐng)求,優(yōu)先使用 referrerpolicy="no-referrer"。
  • 如果需要更高的靈活性,可以使用代理服務(wù)器。
  • 如果圖片較小,可以考慮轉(zhuǎn)換為 Base64。
  • 如果問(wèn)題復(fù)雜,聯(lián)系圖片服務(wù)器管理員或使用第三方服務(wù)。

到此這篇關(guān)于前端JavaScript解決防盜鏈(Referer Check)圖片加載問(wèn)題的常用方法的文章就介紹到這了,更多相關(guān)JavaScript防盜鏈內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解微信小程序調(diào)用支付接口支付

    詳解微信小程序調(diào)用支付接口支付

    這篇文章主要介紹了微信小程序調(diào)用支付接口支付,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • JS教程:window.location使用方法的區(qū)別介紹

    JS教程:window.location使用方法的區(qū)別介紹

    這篇文章介紹了window.location使用方法的區(qū)別,有需要的朋友可以參考一下
    2013-10-10
  • 微信小程序時(shí)間戳轉(zhuǎn)日期的詳解

    微信小程序時(shí)間戳轉(zhuǎn)日期的詳解

    這篇文章主要介紹了微信小程序時(shí)間戳轉(zhuǎn)日期,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 實(shí)現(xiàn)動(dòng)畫(huà)效果核心方式的js代碼

    實(shí)現(xiàn)動(dòng)畫(huà)效果核心方式的js代碼

    為了做好導(dǎo)航菜單,有時(shí)候需要在菜單下拉的時(shí)候?qū)崿F(xiàn)動(dòng)畫(huà)效果,所以這幾天就研究了研究如何用js實(shí)現(xiàn)動(dòng)畫(huà)效果,實(shí)現(xiàn)動(dòng)畫(huà)核心要用到兩個(gè)函數(shù),一個(gè)是setTimeOut,另一個(gè)是setInterval
    2013-09-09
  • JavaScript利用正則表達(dá)式替換字符串中的內(nèi)容

    JavaScript利用正則表達(dá)式替換字符串中的內(nèi)容

    本文主要介紹了JavaScript利用正則表達(dá)式替換字符串中內(nèi)容的具體實(shí)現(xiàn)方法,并做了簡(jiǎn)要注釋,便于理解。具有一定的參考價(jià)值,需要的朋友可以看下
    2016-12-12
  • 詳解關(guān)于微信setData回調(diào)函數(shù)中的坑

    詳解關(guān)于微信setData回調(diào)函數(shù)中的坑

    這篇文章主要介紹了詳解關(guān)于微信setData回調(diào)函數(shù)中的坑,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • JS數(shù)組的常用10種方法詳解

    JS數(shù)組的常用10種方法詳解

    這篇文章主要介紹了JS數(shù)組的常用10種方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • javascript解析ajax返回的xml和json格式數(shù)據(jù)實(shí)例詳解

    javascript解析ajax返回的xml和json格式數(shù)據(jù)實(shí)例詳解

    這篇文章主要介紹了javascript解析ajax返回的xml和json格式數(shù)據(jù),結(jié)合實(shí)例形式詳細(xì)分析了JS ajax調(diào)用及返回值中xml與json格式數(shù)據(jù)的處理技巧,需要的朋友可以參考下
    2017-01-01
  • 可能是全網(wǎng)最詳細(xì)小程序中使用echarts的教程

    可能是全網(wǎng)最詳細(xì)小程序中使用echarts的教程

    在開(kāi)發(fā)微信小程序時(shí),有需求需要使用到柱狀圖,餅圖等圖表,下面這篇文章主要給大家介紹了關(guān)于小程序中使用echarts的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • javascript之水平橫向滾動(dòng)歌詞同步的應(yīng)用

    javascript之水平橫向滾動(dòng)歌詞同步的應(yīng)用

    javascript之水平橫向滾動(dòng)歌詞同步的應(yīng)用...
    2007-05-05

最新評(píng)論

南江县| 苏尼特左旗| 昌黎县| 英山县| 新乡县| 汪清县| 西乡县| 淮南市| 靖宇县| 九龙县| 丰台区| 剑河县| 临猗县| 苏尼特右旗| 长武县| 朝阳区| 来安县| 诸城市| 嘉峪关市| 杭锦旗| 新沂市| 秦皇岛市| 广河县| 清苑县| 瓮安县| 乐安县| 天镇县| 闽侯县| 安平县| 清镇市| 河曲县| 沙洋县| 六安市| 泉州市| 报价| 罗田县| 武宁县| 柳江县| 辽源市| 大关县| 鄂托克旗|