name: React Security description: Security practices for React (XSS, Auth, Dependencies). metadata: labels: [react, security, xss, auth] triggers: files: ['/*.tsx', '/*.jsx'] keywords: [dangerouslySetInnerHTML, token, auth, xss]
React Security
Priority: P0 (CRITICAL)
Preventing vulnerabilities in client-side apps.
Implementation Guidelines
-
XSS: Avoid
dangerouslySetInnerHTML. Sanitize viaDOMPurifyif needed. -
URLs: Validate
javascript:protocols in user links. -
Auth: Store tokens in
HttpOnlycookies. AvoidlocalStorage. -
Deps: Run
npm audit. Pin versions. -
Secrets: Server-side only. No
.envsecrets in build. - CSP: Strict Content-Security-Policy headers.
Anti-Patterns
-
No
eval(): RCE risk. - No Serialized State: Don't inject JSON into DOM without escaping.
- No Client Logic for Permissions: Backend must validate.
Code
import DOMPurify from 'dompurify';
// Safe HTML Injection
function SafeHtml({ content }) {
const clean = DOMPurify.sanitize(content);
return <div dangerouslySetInnerHTML={{ __html: clean }} />;
}
// Bad Link Prevention
const safeUrl = url.startsWith('javascript:') ? '#' : url;
<a href={safeUrl}>Link</a>;
Related Topics
common/security-standards | typescript/security | component-patterns
chat Comments (0)
Sign in to join the discussion and leave a comment.
Skill Details
GitHub Stars
143
GitHub Forks
48
Created
Jan 2026
Last Updated
8 months ago
tools
tools full stack
Related Skills
Build your own?
Join 12,000+ developers contributing to the Claude ecosystem.
No comments yet. Be the first to share your thoughts!