bookwyrm/bookwyrm/utils/validate.py
Mouse Reeve 2de115fc1e Add helper to refer views back to http referers safely
In most cases, we want to return back to where we came from after
performing an action. It's not safe to return to an arbitrary referer,
so this streamlines using the util validator to verify the redirect and
fall back on regular redirect params if the referer is outside our
domain.
2023-03-20 10:25:38 -07:00

20 lines
403 B
Python

"""Validations"""
from bookwyrm.settings import DOMAIN, USE_HTTPS
def validate_url_domain(url):
"""Basic check that the URL starts with the instance domain name"""
if not url:
return None
if url == "/":
return url
protocol = "https://" if USE_HTTPS else "http://"
origin = f"{protocol}{DOMAIN}"
if url.startswith(origin):
return url
return None