Skip to content
Prev Previous commit
Next Next commit
Sanitize data in RequestPanel
- Refactor sesssion data handling
  • Loading branch information
dr-rompecabezas committed Mar 13, 2025
commit d155fc4117f02fb3aef72202a5641b5998c5b033
20 changes: 6 additions & 14 deletions debug_toolbar/panels/request.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from django.utils.translation import gettext_lazy as _

from debug_toolbar.panels import Panel
from debug_toolbar.utils import get_name_from_obj, get_sorted_request_variable
from debug_toolbar.utils import get_name_from_obj, sanitize_and_sort_request_vars


class RequestPanel(Panel):
Expand All @@ -26,9 +26,9 @@ def nav_subtitle(self):
def generate_stats(self, request, response):
self.record_stats(
{
"get": get_sorted_request_variable(request.GET),
"post": get_sorted_request_variable(request.POST),
"cookies": get_sorted_request_variable(request.COOKIES),
"get": sanitize_and_sort_request_vars(request.GET),
"post": sanitize_and_sort_request_vars(request.POST),
"cookies": sanitize_and_sort_request_vars(request.COOKIES),
}
)

Expand Down Expand Up @@ -59,13 +59,5 @@ def generate_stats(self, request, response):
self.record_stats(view_info)

if hasattr(request, "session"):
try:
session_list = [
(k, request.session.get(k)) for k in sorted(request.session.keys())
]
except TypeError:
session_list = [
(k, request.session.get(k))
for k in request.session.keys() # (it's not a dict)
]
self.record_stats({"session": {"list": session_list}})
session_data = dict(request.session)
self.record_stats({"session": sanitize_and_sort_request_vars(session_data)})