MediaWiki REL1_39
|
Public Member Functions | |
__construct (WebResponse $response, Config $mwConfig, HookContainer $hookContainer) | |
addDefaultSrc ( $source) | |
If possible you should use a more specific source type then default. | |
addScriptSrc ( $source) | |
So for example, if an extension added a special page that loaded something it might call $this->getOutput()->getCSP()->addScriptSrc( '*.example.com' );. | |
addStyleSrc ( $source) | |
So for example, if an extension added a special page that loaded external CSS it might call $this->getOutput()->getCSP()->addStyleSrc( '*.example.com' );. | |
getNonce () | |
Get the nonce if nonce is in use. | |
sendCSPHeader ( $csp, $reportOnly) | |
Send a single CSP header based on a given policy config. | |
sendHeaders () | |
Send CSP headers based on wiki config. | |
Static Public Member Functions | |
static | falsePositiveBrowser ( $ua) |
Does this browser give false positive reports? | |
static | isNonceRequired (Config $config) |
Should we set nonce attribute. | |
Public Attributes | |
const | FULL_MODE = 2 |
const | REPORT_ONLY_MODE = 1 |
Definition at line 33 of file ContentSecurityPolicy.php.
ContentSecurityPolicy::__construct | ( | WebResponse | $response, |
Config | $mwConfig, | ||
HookContainer | $hookContainer ) |
WebResponse | $response | |
Config | $mwConfig | |
HookContainer | $hookContainer |
Definition at line 63 of file ContentSecurityPolicy.php.
ContentSecurityPolicy::addDefaultSrc | ( | $source | ) |
If possible you should use a more specific source type then default.
So for example, if an extension added a special page that loaded something it might call $this->getOutput()->getCSP()->addDefaultSrc( '*.example.com' );
string | $source | Source to add. e.g. blob:, *.example.com, https://example.com, example.com/foo |
Definition at line 569 of file ContentSecurityPolicy.php.
References $source.
ContentSecurityPolicy::addScriptSrc | ( | $source | ) |
So for example, if an extension added a special page that loaded something it might call $this->getOutput()->getCSP()->addScriptSrc( '*.example.com' );.
string | $source | Source to add. e.g. blob:, *.example.com, https://example.com, example.com/foo |
Definition at line 594 of file ContentSecurityPolicy.php.
References $source.
ContentSecurityPolicy::addStyleSrc | ( | $source | ) |
So for example, if an extension added a special page that loaded external CSS it might call $this->getOutput()->getCSP()->addStyleSrc( '*.example.com' );.
string | $source | Source to add. e.g. blob:, *.example.com, https://example.com, example.com/foo |
Definition at line 581 of file ContentSecurityPolicy.php.
References $source.
|
static |
Does this browser give false positive reports?
Some versions of firefox (40-42) incorrectly report a csp violation for nonce sources, despite allowing them.
string | $ua | User-agent header |
Definition at line 501 of file ContentSecurityPolicy.php.
ContentSecurityPolicy::getNonce | ( | ) |
Get the nonce if nonce is in use.
Definition at line 547 of file ContentSecurityPolicy.php.
|
static |
Should we set nonce attribute.
Config | $config |
Definition at line 511 of file ContentSecurityPolicy.php.
References Config\get().
Referenced by Html\inlineScript(), and Html\linkedScript().
ContentSecurityPolicy::sendCSPHeader | ( | $csp, | |
$reportOnly ) |
Send a single CSP header based on a given policy config.
array | $csp | ContentSecurityPolicy configuration |
int | $reportOnly | self::*_MODE constant |
Definition at line 79 of file ContentSecurityPolicy.php.
Referenced by sendHeaders().
ContentSecurityPolicy::sendHeaders | ( | ) |
Send CSP headers based on wiki config.
Main method that callers (OutputPage) are expected to use. As a general rule, you would never call this in an extension unless you have disabled OutputPage and are fully controlling the output.
Definition at line 98 of file ContentSecurityPolicy.php.
References sendCSPHeader().
const ContentSecurityPolicy::FULL_MODE = 2 |
Definition at line 35 of file ContentSecurityPolicy.php.
const ContentSecurityPolicy::REPORT_ONLY_MODE = 1 |
Definition at line 34 of file ContentSecurityPolicy.php.