URL redirection from remote source (#29)

This commit is contained in:
2021-05-04 18:21:12 +01:00
committed by GitHub
parent 96f90469cf
commit 659862a628

View File

@@ -1,6 +1,7 @@
from django.contrib.auth import authenticate, login, logout from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.shortcuts import redirect, render from django.shortcuts import redirect, render
from django.utils.http import url_has_allowed_host_and_scheme
from comic_auth.forms import LoginForm from comic_auth.forms import LoginForm
@@ -14,9 +15,12 @@ def comic_login(request):
if user.is_active: if user.is_active:
login(request, user) login(request, user)
if "next" in request.GET: if "next" in request.GET:
if url_has_allowed_host_and_scheme(request.GET["next"], allowed_hosts=None):
return redirect(request.GET["next"]) return redirect(request.GET["next"])
else: else:
return redirect("/comic/") return redirect("/comic/")
else:
return redirect("/comic/")
else: else:
return render(request, "comic_auth/login.html", {"error": True}) return render(request, "comic_auth/login.html", {"error": True})
else: else: