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反爬蟲(chóng)策略,防止UA抓取網(wǎng)站
目前網(wǎng)絡(luò)上的爬蟲(chóng)非常多,有對(duì)網(wǎng)站收錄有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots規(guī)則對(duì)服務(wù)器造成壓力,還不能為網(wǎng)站帶來(lái)流量的無(wú)用爬蟲(chóng),為防止網(wǎng)站有可能會(huì)被別人爬,通過(guò)配置Nginx, 我們可以攔截大部分爬蟲(chóng)2020-09-0918個(gè)運(yùn)維必知的Nginx代理緩存配置技巧(你都掌握了哪些呢)
這篇文章主要介紹了18個(gè)運(yùn)維必知的Nginx代理緩存配置技巧(你都掌握了哪些呢),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09