基于Nginx配置origin限制跨域请求

按照等保要求,跨域的不安全性,需要修复。
这个需要根据客户端传递的请求头中的origin值,进行安全的跨站策略配置,目的是对非法的origin直接返回403错误页面。
漏洞复现
复现方式为在 header 中指定 origin 请求头,看是否可以请求成功。
能够请求成功,说明未对请求头进行控制,有漏洞。
curl -h 'origin//test.com' http://192.168.15.32:80  
修复办法
在http中定义一个通过map指令,定义跨域规则并返回是否合法
http { ...    // 再白名单里边返回0,不在返回1 map $http_origin $allow_cors { default 1; ~^https?://.*?.tripwolf.com.*$ 1; ~^(https?://(dmp.finerice.cn)?)$ 1; ~* 0; } server {        # 指定允许其他域名访问 add_header access-control-allow-origin $http_origin; # 允许的请求类型 add_header access-control-allow-methods get,post,options; # 许的请求头字段 add_header access-control-allow-headers origin, x-requested-with, content-type, accept; location / { # 进行请求拦截 if ($allow_cors = 0){ return 403; } root /mnt/data; } }}  
验证方法
通过postman进行请求模拟,配置不同的origin,查看返回结果。
如果不需要跨域,则直接清理掉add_header access-control-allow-origin等相关配置,就不这么复杂了。

我国氢能和燃料电池汽车产业发展速度进一步加快
三星Galaxy Buds Pro渲染图、规格曝光
【应用方案】Trinamic助力智慧物流体系
USB Type-C、PD 和USB 3.1,这三者到底是什么关系?
RT中国物联APP模式开发
基于Nginx配置origin限制跨域请求
无线充电器评测_无线快充评测_车载无线充电器评测
Zecurion面向房地产的新一代DLP
电蜂对话FAKRA连接器厂家自动化生产现状
常用的八脚LED电源芯片12V200MA非隔离电源模块电源IC:SM7025
iPhone内存为什么一直这么小
TOP25座舱SoC芯片性能排名
对于传感器,你了解多少?
微特电机的应用_微特电机结构
智能电力系统与智能电网 智能发电主要涉及什么技术领域
太阳能发电控制逆变器设计
中国电动汽车市场再添新玩家,小米启动造车梦
波音737 MAX 7成功完成首飞测试,将于2019年获取认证并交付航空公司
日托光伏的MWT组件实现背接触技术应用方案
如何计算变压器直流电阻测试仪的电阻