Replace non-ascii chars in template names when building xkey

We don't have non-ascii characters in any of our correct URLs, but
people can still specify them on the URL. In this case the xkey isn't
going to match anything anyway, so it is not critical how we handle it,
especially since the generated page is going to be a 404 anyway. So just
use the simple built-in replace function.
This commit is contained in:
Magnus Hagander
2020-11-18 11:28:40 +01:00
parent 8cd2181be8
commit 0387d17e2d

View File

@ -40,7 +40,7 @@ class PgMiddleware(object):
response['x-do-esi'] = "1"
tlist.remove('base/esi.html')
if tlist:
response['xkey'] = ' '.join(["pgwt_{0}".format(hashlib.md5(t.encode('ascii')).hexdigest()) for t in tlist])
response['xkey'] = ' '.join(["pgwt_{0}".format(hashlib.md5(t.encode('ascii', errors='replace')).hexdigest()) for t in tlist])
# Set security headers
sources = OrderedDict([