web/lib/django/contrib/sessions/models.py
changeset 29 cc9b7e14412b
parent 0 0d40e90630ef
equal deleted inserted replaced
28:b758351d191f 29:cc9b7e14412b
    56     def get_decoded(self):
    56     def get_decoded(self):
    57         encoded_data = base64.decodestring(self.session_data)
    57         encoded_data = base64.decodestring(self.session_data)
    58         pickled, tamper_check = encoded_data[:-32], encoded_data[-32:]
    58         pickled, tamper_check = encoded_data[:-32], encoded_data[-32:]
    59         if md5_constructor(pickled + settings.SECRET_KEY).hexdigest() != tamper_check:
    59         if md5_constructor(pickled + settings.SECRET_KEY).hexdigest() != tamper_check:
    60             from django.core.exceptions import SuspiciousOperation
    60             from django.core.exceptions import SuspiciousOperation
    61             raise SuspiciousOperation, "User tampered with session cookie."
    61             raise SuspiciousOperation("User tampered with session cookie.")
    62         try:
    62         try:
    63             return pickle.loads(pickled)
    63             return pickle.loads(pickled)
    64         # Unpickling can cause a variety of exceptions. If something happens,
    64         # Unpickling can cause a variety of exceptions. If something happens,
    65         # just return an empty dictionary (an empty session).
    65         # just return an empty dictionary (an empty session).
    66         except:
    66         except: