nginx 防盜煉心得

2021-07-22 21:35:50 字數 1427 閱讀 2967

後台是利用http伺服器nginx和tomcat在linux環境中,

本來,如果是這樣的話,***就可以進行處理這樣的請求。

思路是:獲取許可權,看這個請求是否有許可權進行訪問,但是,我們在tomcat的service.xml目錄裡面配置了絕對路徑

這就造成了,不需要經過專案,只要tomcat進行開啟就可以訪問資料夾。

1.解決思路如下:

本專案:可以利用過濾器,或者***,以獲取是否有許可權進行處理,

專案以外,因為請求都是要由nginx進行**,所以可以利用nginx防盜煉的處理方式

location /download

accesskey為模組開關;

accesskey_hashmethod為加密方式md5或者sha-1;

accesskey_arg為url中的關鍵字引數;

accesskey_signature為加密值,此處為mypass和訪問ip構成的字串。

actioncontext ctx = actioncontext.getcontext();

string pagefilename = servletactioncontext.getrequest().getparameter("路徑");

string path = pagefilename.substring(5, pagefilename.length());

ctx.getsession().put("path", "/imgess/?key="+ md5加密的那串密文);

nginx接受到請求,**給tomcat,tomcat在把上面那串請求返回時,必須加上那串md5加密過的密文才能夠訪問

並且需要注意,請求開始是不需要密文的,返回資料到前台的時候,需要密文

繼續測試發現,還有漏洞,就是說,如果輸入tomcat中ip+埠,那麼請求就不會經由nginx**,繞過了nginx的防盜煉,

解決辦法就是:

在linux中防火牆限制其埠,只能使用nginx進行訪問,不能直接訪問tomcat

加在自啟動中

vim /etc/init.d/rc.local

設定如下

iptables -a input -s 127.0.0.1 -p tcp -m tcp --dport 8080 -j accept 

iptables -a input -p tcp -m tcp --dport 8080 -j drop

–a 引數就看成是新增一條規則

–p 指定是什麼協議,我們常用的tcp 協議,當然也有udp,例如53埠的dns

–dport 就是目標埠,當資料從外部進入伺服器為目標埠

–sport 資料從伺服器出去,則為資料來源埠使用

–j 就是指定是 accept -接收 或者 drop 不接收

nginx防盜煉 s3防盜煉

nginx防盜煉 編輯檔案 usr local nginx conf nginx.conf 以上 解釋如下 1 location中指定要防篡改的檔案型別 2 valid referers指定資源訪問是通過以下幾種方式為合法 none 直接通過url訪問,無referer值的情況 blocked re...

nginx 防盜煉配置

語法 配置段只在server location中出現 valid referers 該指令後面可以接 none blocked serevr names string或者是正則 none 表示沒有referer blocked 代表有referer但是被防火牆或 取消了 string或者正在表示式 ...

nginx的防盜煉

有個客戶的站點負載過高,於是我們可愛的憤青系統工程師將其的apache換成nginx,效果很明顯。現在記錄一些apache轉換過程中的小細節,留下備忘。nginx的防盜煉 一般的防盜煉如下 第一行 gif jpg png swf flv 表示對gif jpg png swf flv字尾的檔案實行防盜...