|
@@ -311,24 +311,24 @@ class CsrfViewMiddleware(MiddlewareMixin):
|
|
|
if referer.scheme != 'https':
|
|
|
return self._reject(request, REASON_INSECURE_REFERER)
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
good_referer = (
|
|
|
settings.SESSION_COOKIE_DOMAIN
|
|
|
if settings.CSRF_USE_SESSIONS
|
|
|
else settings.CSRF_COOKIE_DOMAIN
|
|
|
)
|
|
|
- if good_referer is not None:
|
|
|
- server_port = request.get_port()
|
|
|
- if server_port not in ('443', '80'):
|
|
|
- good_referer = '%s:%s' % (good_referer, server_port)
|
|
|
- else:
|
|
|
+ if good_referer is None:
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
try:
|
|
|
|
|
|
good_referer = request.get_host()
|
|
|
except DisallowedHost:
|
|
|
pass
|
|
|
+ else:
|
|
|
+ server_port = request.get_port()
|
|
|
+ if server_port not in ('443', '80'):
|
|
|
+ good_referer = '%s:%s' % (good_referer, server_port)
|
|
|
|
|
|
|
|
|
good_hosts = self.csrf_trusted_origins_hosts
|