溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

nginx系統(tǒng)真正有效的圖片防盜鏈完整設(shè)置詳解

發(fā)布時(shí)間:2020-07-27 19:26:40 來(lái)源:網(wǎng)絡(luò) 閱讀:5492 作者:gutaotao1989 欄目:web開(kāi)發(fā)

關(guān)于nginx防盜鏈的方法網(wǎng)上有很多教程,都可以用,但是我發(fā)現(xiàn)很多教程并不完整,所做的防盜鏈并不是真正的徹底的防盜鏈!

一般,我們做好防盜鏈之后其他網(wǎng)站盜鏈的本站圖片就會(huì)全部失效無(wú)法顯示,但是您如果通過(guò)瀏覽器直接輸入圖片地址,仍然會(huì)顯示圖片,仍然可以右鍵圖片另存為下載文件!

依然可以下載?這樣就不是徹底的防盜了!那么,nginx應(yīng)該怎么樣徹底地實(shí)現(xiàn)真正意義上的防盜鏈呢?

首先,我們來(lái)看下nginx如何設(shè)置防盜鏈

如果您使用的是默認(rèn)站點(diǎn),也就是說(shuō),您的站點(diǎn)可以直接輸入服務(wù)器IP訪問(wèn)的,使用root登錄,修改 /usr/local/nginx/conf/nginx.conf 這個(gè)配置文件。

如果您新建了站點(diǎn),那么修改/usr/local/nginx/conf/vhost/你的域名.conf 這個(gè)配置文件,找到:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
 expires      30d;
}

把這一段刪掉,修改成:

location ~* \.(gif|jpg|png|jpeg)$ {
    expires     30d;
        valid_referers none blocke *.hugao8.com www.hugao8.com m.hugao8.com *.baidu.com *.google.com;
    if ($invalid_referer) {
    rewrite ^/ http://ww4.sinaimg.cn/bmiddle/051bbed1gw1egjc4xl7srj20cm08aaa6.jpg;
    #return 404;
    }
}

第一行: location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

其中“gif|jpg|jpeg|png|bmp|swf”設(shè)置防盜鏈文件類(lèi)型,自行修改,每個(gè)后綴用“|”符號(hào)分開(kāi)!

第三行:valid_referers none blocked *.it300.com it300.com;

就是白名單,允許文件鏈出的域名白名單,自行修改成您的域名!*.it300.com這個(gè)指的是子域名,域名與域名之間使用空格隔開(kāi)!

第五行:rewrite ^/ https://cache.yisu.com/upload/information/20200311/53/211945.jpg;

這個(gè)圖片是盜鏈返回的圖片,也就是替換盜鏈網(wǎng)站所有盜鏈的圖片。這個(gè)圖片要放在沒(méi)有設(shè)置防盜鏈的網(wǎng)站上,因?yàn)榉辣I鏈的作用,這個(gè)圖片如果也放在防盜鏈網(wǎng)站上就會(huì)被當(dāng)作防盜鏈顯示不出來(lái)了,盜鏈者的網(wǎng)站所盜鏈圖片會(huì)顯示X符號(hào)。

這樣設(shè)置差不多就可以起到防盜鏈作用了,上面說(shuō)了,這樣并不是徹底地實(shí)現(xiàn)真正意義上的防盜鏈!

我們來(lái)看第三行:valid_referers none blocked *.it300.com it300.com;

valid_referers 里多了“none blocked”

我們把“none blocked”刪掉,改成

valid_referers  *.it300.com it300.com;

 

nginx徹底地實(shí)現(xiàn)真正意義上的防盜鏈完整的代碼應(yīng)該是這樣的:

location ~* \.(gif|jpg|png|jpeg)$ {
    expires     30d;
    valid_referers *.hugao8.com www.hugao8.com m.hugao8.com *.baidu.com *.google.com;
    if ($invalid_referer) {
    rewrite ^/ http://ww4.sinaimg.cn/bmiddle/051bbed1gw1egjc4xl7srj20cm08aaa6.jpg;
    #return 404;
    }
}

這樣您在瀏覽器直接輸入圖片地址就不會(huì)再顯示圖片出來(lái)了,也不可能會(huì)再右鍵另存什么的。

第五行:rewrite ^/ https://cache.yisu.com/upload/information/20200311/53/211945.jpg;

這個(gè)是給圖片防盜鏈設(shè)置的防盜鏈返回圖片,如果我們是文件需要防盜鏈下載,把第五行:

rewrite ^/ http://www.it300.com/static/p_w_picpaths/404.jpg;

改成一個(gè)鏈接,可以是您主站的鏈接,比如把第五行改成:

rewrite ^/ http://www.it300.com;

這樣,當(dāng)別人輸入文件下載地址,由于防盜鏈下載的作用就會(huì)跳轉(zhuǎn)到您設(shè)置的這個(gè)鏈接!

最后,配置文件設(shè)置完成別忘記重啟nginx生效!


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI