diff options
author | Lukas Reschke <lukas@owncloud.com> | 2015-07-21 21:40:32 +0300 |
---|---|---|
committer | Lukas Reschke <lukas@owncloud.com> | 2015-09-10 16:02:45 +0300 |
commit | bb5b7290ac4538e18bddc18d94b7e82d432e1d59 (patch) | |
tree | ff3215928120b7ed33836b780587dcc40292d6ae | |
parent | a283bf209b8765bb0f9beb7f7d9f4112dec6e8da (diff) |
Add custom CSP for Win 10 compatibility
The default content-security-policy of ownCloud forbids inline
JavaScript for security reasons. IE starting on Windows 10 will
however also obey the CSP which will break the event source fallback.
As a workaround thus we set a custom policy which allows the execution
of inline JavaScript.
This fixes https://github.com/owncloud/core/issues/14286
-rw-r--r-- | lib/private/eventsource.php | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/private/eventsource.php b/lib/private/eventsource.php index 53947f3a2f2..074c700a6fb 100644 --- a/lib/private/eventsource.php +++ b/lib/private/eventsource.php @@ -41,6 +41,17 @@ class OC_EventSource implements \OCP\IEventSource { $this->fallback = isset($_GET['fallback']) and $_GET['fallback'] == 'true'; if ($this->fallback) { $this->fallBackId = (int)$_GET['fallback_id']; + /** + * FIXME: The default content-security-policy of ownCloud forbids inline + * JavaScript for security reasons. IE starting on Windows 10 will + * however also obey the CSP which will break the event source fallback. + * + * As a workaround thus we set a custom policy which allows the execution + * of inline JavaScript. + * + * @link https://github.com/owncloud/core/issues/14286 + */ + header("Content-Security-Policy: default-src 'none'; script-src 'unsafe-inline'"); header("Content-Type: text/html"); echo str_repeat('<span></span>' . PHP_EOL, 10); //dummy data to keep IE happy } else { |