Performance: Input sanitization
Input sanitization affects the speed of request processing and response time by adding validation and cleaning steps before rendering.
from flask import request from markupsafe import escape @app.route('/submit', methods=['POST']) def submit(): user_input = request.form['data'] sanitized = escape(user_input) # Efficient built-in escaping # Further validation with simple checks if not user_input.isalnum(): return 'Invalid input', 400 return 'Success', 200
from flask import request @app.route('/submit', methods=['POST']) def submit(): user_input = request.form['data'] # Manual sanitization with multiple regex and string operations sanitized = user_input.replace('<', '').replace('>', '') sanitized = sanitized.replace('script', '') # More complex manual checks if not sanitized.isalnum(): return 'Invalid input', 400 # Process sanitized input return 'Success', 200
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Manual string replace sanitization | 0 (server-side) | 0 | 0 | [X] Bad |
| Built-in escape function sanitization | 0 (server-side) | 0 | 0 | [OK] Good |
escape() function to convert special characters to safe HTML entities.escape() safely converts input to prevent HTML injection.from flask import escape user_input = '' safe_input = escape(user_input) print(safe_input)
escape() function converts special HTML characters like <, > to safe codes like < and >.from flask import escape
user_input = request.args.get('name')
safe_input = escape(user_input)
return safe_inputescape from Flask but uses request without importing it.NameError because request is undefined.from flask import request [OK]escape() only when showing data prevents XSS without losing original input.Pass the test and this pattern moves unknown