From 0d020bc3f87e0ca5abed7d2a6df8c0380cd67fbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Tue, 24 Mar 2026 10:43:14 +0800 Subject: [PATCH] feat: implement input sanitization --- src/lib/security/sanitizer.test.ts | 39 +++++++++++ src/lib/security/sanitizer.ts | 105 +++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+) create mode 100644 src/lib/security/sanitizer.test.ts create mode 100644 src/lib/security/sanitizer.ts diff --git a/src/lib/security/sanitizer.test.ts b/src/lib/security/sanitizer.test.ts new file mode 100644 index 0000000..7a42f4b --- /dev/null +++ b/src/lib/security/sanitizer.test.ts @@ -0,0 +1,39 @@ +import { sanitizeInput, sanitizeFormData, detectMaliciousContent } from './sanitizer'; + +describe('Input Sanitization', () => { + test('should remove XSS attempts', () => { + const malicious = 'Hello'; + const sanitized = sanitizeInput(malicious); + expect(sanitized).not.toContain('John', + email: 'test@example.com', + message: 'Click http://evil.com', + }; + const sanitized = sanitizeFormData(formData); + expect(sanitized.name).not.toContain('