CSP: object-src
The HTTP Content-Security-Policy
object-src
directive specifies valid sources for the
<object>
, <embed>
, and <applet>
elements.
To set allowed types for <object>
, <embed>
, and
<applet>
elements, use the plugin-types
directive.
Note: Elements controlled by object-src
are perhaps coincidentally
considered legacy HTML elements and aren't receiving new standardized features (such as
the security attributes sandbox
or allow
for
<iframe>
). Therefore it is recommended to restrict
this fetch-directive (e.g. explicitly set object-src 'none'
if possible).
CSP version | 1 |
---|---|
Directive type | Fetch directive |
default-src fallback |
Yes. If this directive is absent, the user agent will look for the
default-src directive.
|
Syntax
One or more sources can be allowed for the object-src
policy:
Content-Security-Policy: object-src <source>;
Content-Security-Policy: object-src <source> <source>;
Sources
<source>
can be any one of the values listed in CSP Source Values.
Note that this same set of values can be used in all fetch directives (and a number of other directives).
Examples
Violation cases
Given this CSP header:
Content-Security-Policy: object-src https://example.com/
The following <object>
, <embed>
, and
<applet>
elements are blocked and won't load:
<embed src="https://not-example.com/flash"></embed>
<object data="https://not-example.com/plugin"></object>
<applet archive="https://not-example.com/java"></applet>
Specifications
Specification |
---|
Content Security Policy Level 3 # directive-object-src |
Browser compatibility
BCD tables only load in the browser