Nginx配置origin限制跨域請(qǐng)求的詳細(xì)過(guò)程
按照等保要求,跨域的不安全性,需要修復(fù)。
這個(gè)需要根據(jù)客戶端傳遞的請(qǐng)求頭中的Origin值,進(jìn)行安全的跨站策略配置,目的是對(duì)非法的origin直接返回403錯(cuò)誤頁(yè)面。
漏洞復(fù)現(xiàn)
復(fù)現(xiàn)方式為在 Header 中指定 Origin 請(qǐng)求頭,看是否可以請(qǐng)求成功。
能夠請(qǐng)求成功,說(shuō)明未對(duì)請(qǐng)求頭進(jìn)行控制,有漏洞。
curl-H'Origin:http://test.com'http://192.168.15.32:80
修復(fù)辦法
在http中定義一個(gè)通過(guò)map指令,定義跨域規(guī)則并返回是否合法
http {
...
// 再白名單里邊返回0,不在返回1
map $http_origin $allow_cors {
default 1;
"~^https?://.*?\.tripwolf\.com.*$" 1;
"~^(https?://(dmp.finerice.cn)?)$" 1;
"~*" 0;
}
server {
# 指定允許其他域名訪問(wèn)
add_header Access-Control-Allow-Origin $http_origin;
# 允許的請(qǐng)求類型
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
# 許的請(qǐng)求頭字段
add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
location / {
# 進(jìn)行請(qǐng)求攔截
if ($allow_cors = 0){
return 403;
}
root /mnt/data;
}
}
}驗(yàn)證方法
通過(guò)POSTMAN進(jìn)行請(qǐng)求模擬,配置不同的Origin,查看返回結(jié)果。

如果不需要跨域,則直接清理掉add_headerAccess-Control-Allow-Origin等相關(guān)配置,就不這么復(fù)雜了。
到此這篇關(guān)于Nginx配置origin限制跨域請(qǐng)求的文章就介紹到這了,更多相關(guān)Nginx限制跨域請(qǐng)求內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx配置網(wǎng)站適配PC和手機(jī)的幾種方法
在開發(fā)中,我們常常會(huì)遇到需要根據(jù)用戶設(shè)備的不同,返回對(duì)應(yīng)樣式的頁(yè)面,本文主要介紹了Nginx配置網(wǎng)站適配PC和手機(jī)的幾種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08
Nginx接收Http協(xié)議請(qǐng)求轉(zhuǎn)發(fā)使用Https協(xié)議的問(wèn)題
這篇文章主要介紹了Nginx接收Http協(xié)議請(qǐng)求轉(zhuǎn)發(fā)使用Https協(xié)議,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
Nginx對(duì)某個(gè)目錄設(shè)置密碼保護(hù)例子
這篇文章主要介紹了Nginx對(duì)某個(gè)目錄設(shè)置密碼保護(hù)例子,使用htpasswd 生成用戶名和密碼,并解決了打開PHP文件變成文件下載的問(wèn)題,需要的朋友可以參考下2014-06-06
nginx編譯安裝出現(xiàn)的常見錯(cuò)誤及解決方法
這篇文章給大家介紹了nginx在編譯安裝過(guò)程中容易出現(xiàn)的常見錯(cuò)誤以及解決方法,文中有詳細(xì)的代碼講解,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-08-08
Windows下用Nginx配置https服務(wù)器及反向代理的問(wèn)題
這篇文章主要介紹了Windows下用Nginx配置https服務(wù)器及反向代理的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
關(guān)于nginx+uWsgi配置遇到的問(wèn)題的解決
uWSGI 是在像 nginx 、 lighttpd 以及 cherokee 服務(wù)器上的一個(gè)部署的選擇,本篇文章主要介紹了關(guān)于nginx+uWsgi配置遇到的問(wèn)題的解決,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
nginx上傳文件大小報(bào)錯(cuò)500的解決辦法
這篇文章主要介紹了nginx上傳文件大小報(bào)錯(cuò)解決辦法的相關(guān)資料,小文件可以提交,大文件會(huì)報(bào)500內(nèi)部錯(cuò)誤,這里提供解決辦法,需要的朋友可以參考下2017-08-08
nginx設(shè)置上傳目錄無(wú)執(zhí)行權(quán)限的方法
在windows+iis下,可以設(shè)置上傳目錄,類似:upload,uploadfile,attachments,這樣的目錄下面無(wú)腳本執(zhí)行權(quán)限,從而防止非法用戶上傳腳本得到webshell2010-11-11

