Merge pull request #207 from pointhi/hash_fix

[fix] hash error if url is including non ascii characters
This commit is contained in:
Adam Tauber 2015-02-01 11:13:58 +01:00
commit 4a20fc202e
1 changed files with 5 additions and 3 deletions

View File

@ -215,10 +215,12 @@ def image_proxify(url):
if url.startswith('//'):
url = 'https:' + url
url = url.encode('utf-8')
if not settings['server'].get('image_proxy') and not request.cookies.get('image_proxy'):
return url
h = hashlib.sha256(url + settings['server']['secret_key']).hexdigest()
h = hashlib.sha256(url + settings['server']['secret_key'].encode('utf-8')).hexdigest()
return '{0}?{1}'.format(url_for('image_proxy'),
urlencode(dict(url=url, h=h)))
@ -553,12 +555,12 @@ def preferences():
@app.route('/image_proxy', methods=['GET'])
def image_proxy():
url = request.args.get('url')
url = request.args.get('url').encode('utf-8')
if not url:
return '', 400
h = hashlib.sha256(url + settings['server']['secret_key']).hexdigest()
h = hashlib.sha256(url + settings['server']['secret_key'].encode('utf-8')).hexdigest()
if h != request.args.get('h'):
return '', 400