UNPKG

dphelper

Version:

dphelper devtools for developers

119 lines (92 loc) 3.04 kB
# sanitize Input/output sanitization for security. ## Functions | Function | Description | Example | |----------|-------------|---------| | `html` | Sanitize HTML by escaping special characters | `dphelper.sanitize.html(html)` | ## Description Security-focused sanitization utilities: - **HTML Escape** - Convert special characters to HTML entities - **XSS Prevention** - Prevent cross-site scripting attacks - **Input Validation** - Clean user-provided content ## Usage Examples ### HTML Sanitization ```javascript // Escape HTML special characters const userInput = '<script>alert("XSS")</script>'; const safe = dphelper.sanitize.html(userInput); // Output: "<script>alert("XSS")</script>" // More examples const html1 = dphelper.sanitize.html('<div class="test">Hello</div>'); // "<div class="test">Hello</div>" const html2 = dphelper.sanitize.html('Use <br> for line breaks'); // "Use <br> for line breaks" const html3 = dphelper.sanitize.html("It's a beautiful day"); // "It's a beautiful day" ``` ### Display User Content Safely ```javascript // Safely display user comments function displayComment(comment) { const sanitized = dphelper.sanitize.html(comment); document.getElementById('comments').innerHTML = sanitized; } // User input (malicious) const maliciousInput = '<img src=x onerror=alert(1)>'; displayComment(maliciousInput); // Safely displays as text, not executed // Chat message sanitization const messages = [ '<b>User1:</b> Hello everyone!', '<script>stealCookies()</script>Welcome!', 'Check out <a href="http://evil.com">this link</a>' ]; messages.forEach(msg => { console.log(dphelper.sanitize.html(msg)); }); // <b>User1:</b> Hello everyone! // <script>stealCookies()</script>Welcome! // Check out <a href="http://evil.com">this link</a> ``` ### Form Input Validation ```javascript // Sanitize form inputs before storage function sanitizeFormInput(input) { if (typeof input !== 'string') return ''; return dphelper.sanitize.html(input.trim()); } const formData = { username: ' <script>bad()</script>user ', bio: 'I love <programming> and "quotes"', website: 'https://example.com' }; const sanitized = { username: sanitizeFormInput(formData.username), bio: sanitizeFormInput(formData.bio), website: sanitizeFormInput(formData.website) }; // { username: "<script>bad()</script>user", ... } ``` ### Database Storage ```javascript // Sanitize before storing in database function saveToDatabase(data) { const sanitized = {}; for (const key in data) { if (typeof data[key] === 'string') { sanitized[key] = dphelper.sanitize.html(data[key]); } else { sanitized[key] = data[key]; } } return sanitized; } ``` ## Details - **Author:** Dario Passariello - **Version:** 0.0.2 - **Creation Date:** 20241204 - **Last Modified:** 20241204 - **Environment:** both (browser + Node.js) --- *Automatically generated document*