Merge pull request #1920 from nextcloud/legacy-pages-should-also-receive-the-nonce
Add nonce also to legacy CSP
This commit is contained in:
commit
b98dfaccd9
|
@ -61,7 +61,7 @@ class Request implements \ArrayAccess, \Countable, IRequest {
|
|||
// Firefox User Agent from https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference
|
||||
const USER_AGENT_FIREFOX = '/^Mozilla\/5\.0 \([^)]+\) Gecko\/[0-9.]+ Firefox\/[0-9.]+$/';
|
||||
// Chrome User Agent from https://developer.chrome.com/multidevice/user-agent
|
||||
const USER_AGENT_CHROME = '/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/[0-9.]+ (Mobile Safari|Safari)\/[0-9.]+$/';
|
||||
const USER_AGENT_CHROME = '/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\)( Ubuntu Chromium\/[0-9.]+|) Chrome\/[0-9.]+ (Mobile Safari|Safari)\/[0-9.]+$/';
|
||||
// Safari User Agent from http://www.useragentstring.com/pages/Safari/
|
||||
const USER_AGENT_SAFARI = '/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Version\/[0-9.]+ Safari\/[0-9.A-Z]+$/';
|
||||
// Android Chrome user agent: https://developers.google.com/chrome/mobile/docs/user-agent
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
namespace OC\Security\CSP;
|
||||
|
||||
use OC\AppFramework\Http\Request;
|
||||
use OC\Security\CSRF\CsrfTokenManager;
|
||||
use OCP\IRequest;
|
||||
|
||||
|
@ -65,8 +66,7 @@ class ContentSecurityPolicyNonceManager {
|
|||
*/
|
||||
public function browserSupportsCspV3() {
|
||||
$browserWhitelist = [
|
||||
// Chrome 40+
|
||||
'/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/[4-9][0-9].[0-9.]+ (Mobile Safari|Safari)\/[0-9.]+$/',
|
||||
Request::USER_AGENT_CHROME,
|
||||
// Firefox 45+
|
||||
'/^Mozilla\/5\.0 \([^)]+\) Gecko\/[0-9.]+ Firefox\/(4[5-9]|[5-9][0-9])\.[0-9.]+$/',
|
||||
// Safari 10+
|
||||
|
|
|
@ -247,7 +247,7 @@ class OC_Response {
|
|||
* @see \OCP\AppFramework\Http\Response::getHeaders
|
||||
*/
|
||||
$policy = 'default-src \'self\'; '
|
||||
. 'script-src \'self\' \'unsafe-eval\'; '
|
||||
. 'script-src \'self\' \'unsafe-eval\' \'nonce-'.\OC::$server->getContentSecurityPolicyNonceManager()->getNonce().'\'; '
|
||||
. 'style-src \'self\' \'unsafe-inline\'; '
|
||||
. 'frame-src *; '
|
||||
. 'img-src * data: blob:; '
|
||||
|
|
|
@ -791,6 +791,20 @@ class RequestTest extends \Test\TestCase {
|
|||
],
|
||||
false,
|
||||
],
|
||||
[
|
||||
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36',
|
||||
[
|
||||
Request::USER_AGENT_CHROME
|
||||
],
|
||||
true,
|
||||
],
|
||||
[
|
||||
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36',
|
||||
[
|
||||
Request::USER_AGENT_CHROME
|
||||
],
|
||||
true,
|
||||
],
|
||||
[
|
||||
'Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16S) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36',
|
||||
[
|
||||
|
|
Loading…
Reference in New Issue