You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Flask或其他Python Web框架中伪造链接点击Referrer是否可行?

伪造Referrer的实现思路与入门示例

可行性说明

可以伪造Referrer,但需区分两种核心场景:后端代理发起的跳转(完全可控)、前端用户点击链接的跳转(受浏览器安全策略限制)。

场景1:Flask后端代理跳转(可靠方案)

通过Flask后端处理跳转请求,由后端主动设置Referrer头后转发请求,目标网站日志会记录你指定的Referrer值。

入门代码示例:

from flask import Flask, redirect
import requests

app = Flask(__name__)

@app.route('/link_1')
def fake_referrer_redirect():
    target_url = "https://目标网站的地址"  # 替换为实际目标链接
    fake_referrer = "https://website-b.com"  # 要伪造的网站B地址

    # 方案1:后端代理请求,返回目标内容(适合API或非页面跳转场景)
    # response = requests.get(target_url, headers={"Referer": fake_referrer})
    # return response.content, response.status_code

    # 方案2:后端发起重定向,附带自定义Referrer(适合页面跳转,部分浏览器可能覆盖)
    redirect_resp = redirect(target_url)
    redirect_resp.headers['Referer'] = fake_referrer
    return redirect_resp

if __name__ == '__main__':
    app.run(debug=True)

场景2:前端点击跳转(受限方案)

纯前端点击链接的场景下,浏览器默认会将当前页面地址设为Referrer,伪造难度大,且受浏览器Referrer Policy限制:

  • 可尝试在页面添加<meta name="referrer" content="unsafe-url">,但仅能放宽Referrer发送策略,无法自定义具体值
  • 通过JavaScript的fetch/XMLHttpRequest发起请求时手动设置Referrer头,但这属于脚本请求,并非用户真实点击链接的场景

关键提示

  • 后端代理是最可靠的伪造方式,请求头完全由后端控制,不受浏览器限制
  • 前端方式仅能在有限范围内调整,无法实现任意自定义Referrer
  • 部分目标网站会校验Referrer合法性,伪造可能触发反制机制

内容的提问来源于stack exchange,提问作者Michal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 21:21:36