backup
This commit is contained in:
28
backend/app/utils/display_sanitizer.py
Normal file
28
backend/app/utils/display_sanitizer.py
Normal file
@@ -0,0 +1,28 @@
|
||||
"""Display sanitization utilities for HTML render contexts.
|
||||
|
||||
All user-supplied values echoed in error messages or other HTML-rendered
|
||||
output MUST be sanitized first. This module provides the canonical
|
||||
sanitize_for_display() function.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import html
|
||||
|
||||
|
||||
def sanitize_for_display(value: str) -> str:
|
||||
"""Escape HTML special characters in user-supplied strings.
|
||||
|
||||
Use this before interpolating user input into any string that will be
|
||||
rendered in an HTML context (e.g. error messages, admin UI, email).
|
||||
|
||||
Does NOT over-escape: JSON responses are not HTML contexts and do not
|
||||
need this treatment. Apply sanitization only at HTML render boundaries.
|
||||
|
||||
Args:
|
||||
value: Raw user-supplied string.
|
||||
|
||||
Returns:
|
||||
The string with HTML special characters escaped.
|
||||
"""
|
||||
return html.escape(value, quote=True)
|
||||
Reference in New Issue
Block a user