--- name: mixed-content description: "Use when reviewing an HTTPS page for resources (scripts, images, stylesheets, iframes) that are loaded over plain HTTP." metadata: category: security priority: high difficulty: intermediate estimatedTime: "20" source: frontendchecklist.io url: https://frontendchecklist.io/en/rules/security/mixed-content --- # Avoid mixed content on HTTPS pages Active mixed content (scripts loaded over HTTP into an HTTPS page) gives network attackers the ability to execute arbitrary JavaScript on your page — the same power as XSS, despite the page itself being served over HTTPS. ## Quick Reference - Active mixed content (scripts, iframes, stylesheets) is blocked outright by all modern browsers - Passive mixed content (images, audio, video) triggers a security warning and may be upgraded or blocked - Use `upgrade-insecure-requests` CSP directive to automatically upgrade HTTP sub-resources to HTTPS - Audit all hardcoded `http://` URLs in HTML, CSS, and JavaScript - The `Content-Security-Policy: upgrade-insecure-requests` directive is the most practical fix for legacy content ## Check Scan the page source and network requests for any HTTP resources loaded on an HTTPS page. Check