给自己的线上项目做 URL 重定向漏洞(Open Redirect Vulnerability) 修复 。
1. 现象复盘:为何会出现“莫名跳转”?
我在浏览器输入:
https://我的域名/?redirect=https://www.baidu.com
结果页面 直接跳转到了百度。
这意味着:
用户可以通过 URL 参数控制网站跳转行为 → 这是典型的开放式重定向漏洞(Open Redirect)。
2. Open Redirect 的风险
这种漏洞虽然看似无害,但在真实攻击场景中风险极高:
① 钓鱼攻击(最常见也是最危险)
攻击者可以发一个看起来很正常的链接:
https://我的域名?redirect=http://fake-login.com
用户以为还在我的站点,实际被悄悄转去了伪造页面。
3. 解决方案
nginx.conf
# Proxy API requests to Flask backend
location /api {
proxy_pass http://localhost:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
这段 nginx 配置是用来做 反向代理 (Reverse Proxy) 的。简单来说,它就是让 Nginx 当一个“传话筒”,把特定的请求转发给后端的 Python 程序。
上传新配置到云服务器
重启 Nginx:
bash nginx -s reload