日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

[Nginx]用Nginx实现与应用结合的訪问控制 - 防盗链

發(fā)布時間:2024/4/17 Nginx 89 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Nginx]用Nginx实现与应用结合的訪问控制 - 防盗链 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

應(yīng)用場景:圖片等資源須要設(shè)置權(quán)限。如:僅僅有認證過的用戶才干訪問自己的圖片。

解決的方法:使用Nginx的防盜鏈模塊http_secure_link能夠?qū)崿F(xiàn),該模塊默認情況下不包括。故在安裝時要加上--with-http_secure_link_module

該模塊依據(jù)兩個參數(shù)控制權(quán)限訪問,一個是過期時間(即該鏈接在這個時間之前可訪問。過期后無法訪問)。該參數(shù)主要出于安全考慮。

還有一個是通過md5算法算出來的KEY,一般通過uri計算

舉例:

server {listen 80;server_name 192.168.1.22;root /home/search/upload/portal_upload/user;location / {index index.html index.htm;}location /img/dossier/ {secure_link $arg_st,$arg_e;secure_link_md5 guahao@345$uri$arg_e;if ($secure_link = "") {return 403;}if ($secure_link = "0") {return 403;}rewrite ^/img/dossier/(.*)$ /img/dossier/$1 break;} }上面的secure_link定義了控制權(quán)限的兩個參數(shù)(各自是st, e)

當(dāng)中e就是上述的過期時間,建議e = 當(dāng)前時間 + 有效期限(5分鐘)
比如:
e = date +%s -d "December 22, 2014 12:22:03"
? ?= 1419222123
st的計算公式例如以下:md5(PKEY,uri,e)。當(dāng)中PKEY是自己定義的常量

比如:
st = php -r 'print str_replace("=", "",strtr(base64_encode(md5("guahao@345/img/dossier/16/641fd565-ec87-4cbe-b4ae-7eedba41bb0e.jpg1419222123",TRUE)),"+/","-_")) . "\n";'

? ? =13c9kZrZT1qnNgpG4Vtksw

效果例如以下:

http://192.168.1.22/img/dossier/16/641fd565-ec87-4cbe-b4ae-7eedba41bb0e.jpg ?--不可訪問
http://192.168.1.22/img/dossier/16/641fd565-ec87-4cbe-b4ae-7eedba41bb0e.jpg?st=13c9kZrZT1qnNgpG4Vtksw&e=1419222123 ?--過期前可訪問。過期后不可訪問
http://192.168.1.22/img/headpic/13/13_140x140.jpg ? --不在dossier以下的圖片沒有訪問限制


OK,到此為此我們基本實現(xiàn)的基于應(yīng)用的權(quán)限控制,且方法靈活。由于e和st的生成由應(yīng)用程序來控制,能進行隨意的改動和變動,而架構(gòu)不受影響。


轉(zhuǎn)載于:https://www.cnblogs.com/ldxsuanfa/p/10860185.html

總結(jié)

以上是生活随笔為你收集整理的[Nginx]用Nginx实现与应用结合的訪问控制 - 防盗链的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。