What is sandbox attribute in iframe: Explanation and Example
sandbox attribute in an iframe adds extra security by restricting what the embedded content can do. It disables features like running scripts or submitting forms unless explicitly allowed, making the iframe content safer to display.How It Works
Think of the sandbox attribute as a safety box for the content inside an iframe. When you add it, the browser locks down the iframe's abilities, like stopping it from running scripts or opening new windows. This is like putting a child in a playpen where they can play safely without causing trouble outside.
By default, the sandbox blocks many actions to protect your main page from harmful or unwanted behavior coming from the iframe content. You can then choose to allow some actions by adding specific keywords to the attribute, like letting scripts run or forms submit, but only if you trust the content.
Example
This example shows an iframe with the sandbox attribute that blocks scripts and forms by default. The embedded page cannot run JavaScript or submit forms unless you add permissions.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Sandbox Attribute Example</title> </head> <body> <h2>Iframe with sandbox attribute</h2> <iframe srcdoc="<button onclick='alert(\'Hi!\')'>Click me</button>" sandbox width="300" height="100"></iframe> </body> </html>
When to Use
Use the sandbox attribute whenever you embed content from sources you don't fully trust. It helps protect your site from malicious scripts, unwanted pop-ups, or data theft. For example, if you embed user-generated content, ads, or third-party widgets, sandboxing keeps your page safer.
You can also use it to limit what embedded content can do, improving security and user privacy. Adjust the sandbox permissions to allow only what is necessary, like enabling forms or scripts selectively.
Key Points
- The
sandboxattribute restricts iframe content capabilities for security. - By default, it blocks scripts, forms, pop-ups, and more.
- You can add keywords to allow specific features, like
allow-scriptsorallow-forms. - It is useful for embedding untrusted or third-party content safely.
- Helps prevent security risks like cross-site scripting (XSS) attacks.