首页 > 解决方案 > Django登录,下一个url重定向到外部链接

问题描述

一个应用程序允许在登录后使用下一个参数重定向到外部链接,例如,如果我使用登录,https://myawesomeapp.com/en/auth/login?next=http://google.be我将被重定向到 Google。使用is_safe_url函数 (from django.utils.http) 解决了这个问题,我还应该使用 Django 的内置 LoginView。

我的问题是:这是安全漏洞吗?黑客可以通过该漏洞获得什么?

标签: djangosecurityauthentication

解决方案


  1. 黑客可以使虚假网站看起来像您的网站,并向某人发送诸如https://myawesomeapp.com/en/auth/login?next=https://myawesomeappp.com之类的链接,并且用户可以确信他仍在您的网站上。用户可以通过这种方式与黑客共享凭据。
  2. https://en.wikipedia.org/wiki/HTTP_response_splitting

推荐阅读