File tree Expand file tree Collapse file tree 2 files changed +22
-2
lines changed
Expand file tree Collapse file tree 2 files changed +22
-2
lines changed Original file line number Diff line number Diff line change 77 settings , "DYNAMIC_BREADCRUMBS_SHOW_AT_BASE_PATH" , False
88)
99
10- PATH_ALPHANUMERIC = getattr (
11- settings , "DYNAMIC_BREADCRUMBS_PATH_ONLY_ALPHANUMERIC " , True
10+ PATH_XSS_SAFE_MODE = getattr (
11+ settings , "DYNAMIC_BREADCRUMBS_PATH_XSS_SAFE_MODE " , True
1212)
1313PATH_MAX_DEPTH = getattr (
1414 settings , "DYNAMIC_BREADCRUMBS_PATH_MAX_DEPTH" , 5
Original file line number Diff line number Diff line change @@ -156,6 +156,26 @@ def test_hide_home_at_base_url(self, mock_resolve):
156156 self .assertEqual (len (result ), 0 )
157157
158158
159+
160+ @patch ('dynamic_breadcrumbs.utils.BreadcrumbsItem._get_resolved_url_metadata' )
161+ def test_filter_xss_attacks (self , mock_resolve ):
162+ mock_resolve = False
163+
164+ app_settings .SHOW_AT_BASE_PATH = False
165+ malicious_code = """
166+ jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert() )//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3c sVg/<sVg/oNloAd=alert()//>\x3e
167+ """
168+ path = f"/level/{ malicious_code } /leaf/"
169+ breadcrumbs = Breadcrumbs (path = path )
170+
171+ result = breadcrumbs .as_list ()
172+ self .assertEqual (len (result ), 0 )
173+
174+
175+
176+
177+
178+
159179# class BreadcrumbsItemTests(TestCase):
160180# def test_get_resolved_url_metadata_resolves_valid_path(self):
161181# item = BreadcrumbsItem(
You can’t perform that action at this time.
0 commit comments