Fixed #6764 -- Added some error checking around cookie decoding. Thanks,
Michael Axiak. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7257 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
8defa8fd27
commit
30bdabb2b0
|
@ -1,5 +1,5 @@
|
||||||
import os
|
import os
|
||||||
from Cookie import SimpleCookie
|
from Cookie import SimpleCookie, CookieError
|
||||||
from pprint import pformat
|
from pprint import pformat
|
||||||
from urllib import urlencode
|
from urllib import urlencode
|
||||||
from urlparse import urljoin
|
from urlparse import urljoin
|
||||||
|
@ -239,8 +239,13 @@ class QueryDict(MultiValueDict):
|
||||||
def parse_cookie(cookie):
|
def parse_cookie(cookie):
|
||||||
if cookie == '':
|
if cookie == '':
|
||||||
return {}
|
return {}
|
||||||
c = SimpleCookie()
|
try:
|
||||||
c.load(cookie)
|
c = SimpleCookie()
|
||||||
|
c.load(cookie)
|
||||||
|
except CookieError:
|
||||||
|
# Invalid cookie
|
||||||
|
return {}
|
||||||
|
|
||||||
cookiedict = {}
|
cookiedict = {}
|
||||||
for key in c.keys():
|
for key in c.keys():
|
||||||
cookiedict[key] = c.get(key).value
|
cookiedict[key] = c.get(key).value
|
||||||
|
|
|
@ -31,4 +31,8 @@ GET:{},
|
||||||
POST:{},
|
POST:{},
|
||||||
COOKIES:{},
|
COOKIES:{},
|
||||||
META:{}>
|
META:{}>
|
||||||
|
|
||||||
|
>>> from django.http import parse_cookie
|
||||||
|
>>> parse_cookie('invalid:key=true')
|
||||||
|
{}
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue