【问题标题】:Pros and Cons of Redirecting with HTTP Referer?使用 HTTP Referer 重定向的优缺点?
【发布时间】:2019-12-01 15:58:36
【问题描述】:

我目前正在开发一个以 React 作为前端的简单 Flask 应用程序。在用户完成登录过程后,我希望有一种优雅的方式将用户重定向到他们的上一页。经过一番研究,我发现使用 HTTP Referer 属性可以很好地工作,如下所示。

from flask import request

## Massive other code omitted

@app.route(""/login")
def log_in():
    return redirect(request.referer)

我知道引用标题是由浏览器添加的。问题是,这是一种使用 HTTP 引用将用户重定向回他们来自的地方的好习惯吗?使用这种方法有什么隐忧吗?

【问题讨论】:

    标签: http flask keycloak http-referer


    【解决方案1】:

    您可以创建一个函数,该函数返回一个良好且安全的重定向 URL,并在您的登录视图中使用它。

    def safe_redirect_url():
        next_url = request.args.get('next') or request.referrer or url_for("index")
        if next_url and url_parse(next_url).netloc == "":
            return next_url
        return None
    

    在重定向之前,您可以添加如下检查:

     url = safe_redirect_url()
     if url:
         redirect(url)
     else:
         return "Error"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      相关资源
      最近更新 更多