diff options
Diffstat (limited to 'debug_toolbar/views.py')
| -rw-r--r-- | debug_toolbar/views.py | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/debug_toolbar/views.py b/debug_toolbar/views.py index 759cb66..4b4ebc9 100644 --- a/debug_toolbar/views.py +++ b/debug_toolbar/views.py @@ -9,11 +9,19 @@ import django.views.static from django.conf import settings from django.http import HttpResponseBadRequest from django.shortcuts import render_to_response -from django.utils import simplejson -from django.utils.hashcompat import sha_constructor from debug_toolbar.utils.compat.db import connections +try: + import json +except ImportError: # python < 2.6 + from django.utils import simplejson as json + +try: + from hashlib import sha1 +except ImportError: # python < 2.5 + from django.utils.hashcompat import sha_constructor as sha1 + class InvalidSQLError(Exception): def __init__(self, value): @@ -37,11 +45,11 @@ def sql_select(request): sql = request.GET.get('sql', '') params = request.GET.get('params', '') alias = request.GET.get('alias', 'default') - hash = sha_constructor(settings.SECRET_KEY + sql + params).hexdigest() + hash = sha1(settings.SECRET_KEY + sql + params).hexdigest() if hash != request.GET.get('hash', ''): return HttpResponseBadRequest('Tamper alert') # SQL Tampering alert if sql.lower().strip().startswith('select'): - params = simplejson.loads(params) + params = json.loads(params) cursor = connections[alias].cursor() cursor.execute(sql, params) headers = [d[0] for d in cursor.description] @@ -72,11 +80,11 @@ def sql_explain(request): sql = request.GET.get('sql', '') params = request.GET.get('params', '') alias = request.GET.get('alias', 'default') - hash = sha_constructor(settings.SECRET_KEY + sql + params).hexdigest() + hash = sha1(settings.SECRET_KEY + sql + params).hexdigest() if hash != request.GET.get('hash', ''): return HttpResponseBadRequest('Tamper alert') # SQL Tampering alert if sql.lower().strip().startswith('select'): - params = simplejson.loads(params) + params = json.loads(params) cursor = connections[alias].cursor() conn = connections[alias].connection @@ -120,11 +128,11 @@ def sql_profile(request): sql = request.GET.get('sql', '') params = request.GET.get('params', '') alias = request.GET.get('alias', 'default') - hash = sha_constructor(settings.SECRET_KEY + sql + params).hexdigest() + hash = sha1(settings.SECRET_KEY + sql + params).hexdigest() if hash != request.GET.get('hash', ''): return HttpResponseBadRequest('Tamper alert') # SQL Tampering alert if sql.lower().strip().startswith('select'): - params = simplejson.loads(params) + params = json.loads(params) cursor = connections[alias].cursor() result = None headers = None |
