|
|
|
|
@ -47,6 +47,30 @@ class ContentSecurityPolicyTest extends \Test\TestCase {
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowScriptDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedScriptDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowScriptDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowScriptDomainMultiple() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' www.owncloud.com 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedScriptDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowScriptDomain('www.owncloud.org');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowScriptDomainMultipleStacked() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedScriptDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowScriptDomain('www.owncloud.org')->disallowScriptDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyScriptAllowInline() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-inline' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
@ -85,6 +109,30 @@ class ContentSecurityPolicyTest extends \Test\TestCase {
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowStyleDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedStyleDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowStyleDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowStyleDomainMultiple() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' www.owncloud.com 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedStyleDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowStyleDomain('www.owncloud.org');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowStyleDomainMultipleStacked() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedStyleDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowStyleDomain('www.owncloud.org')->disallowStyleDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyStyleAllowInline() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
@ -121,6 +169,30 @@ class ContentSecurityPolicyTest extends \Test\TestCase {
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowImageDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedImageDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowImageDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowImageDomainMultiple() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' www.owncloud.com;font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedImageDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowImageDomain('www.owncloud.org');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowImageDomainMultipleStakes() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedImageDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowImageDomain('www.owncloud.org')->disallowImageDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyFontDomainValid() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self' www.owncloud.com;connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
@ -136,6 +208,30 @@ class ContentSecurityPolicyTest extends \Test\TestCase {
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowFontDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedFontDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowFontDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowFontDomainMultiple() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self' www.owncloud.com;connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedFontDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowFontDomain('www.owncloud.org');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowFontDomainMultipleStakes() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedFontDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowFontDomain('www.owncloud.org')->disallowFontDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyConnectDomainValid() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self' www.owncloud.com;media-src 'self'";
|
|
|
|
|
|
|
|
|
|
@ -151,6 +247,30 @@ class ContentSecurityPolicyTest extends \Test\TestCase {
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowConnectDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedConnectDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowConnectDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowConnectDomainMultiple() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self' www.owncloud.com;media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedConnectDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowConnectDomain('www.owncloud.org');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowConnectDomainMultipleStakes() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedConnectDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowConnectDomain('www.owncloud.org')->disallowConnectDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyMediaDomainValid() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self' www.owncloud.com";
|
|
|
|
|
|
|
|
|
|
@ -166,6 +286,30 @@ class ContentSecurityPolicyTest extends \Test\TestCase {
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowMediaDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedMediaDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowMediaDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowMediaDomainMultiple() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self' www.owncloud.com";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedMediaDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowMediaDomain('www.owncloud.org');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowMediaDomainMultipleStakes() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedMediaDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowMediaDomain('www.owncloud.org')->disallowMediaDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyObjectDomainValid() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self';object-src www.owncloud.com";
|
|
|
|
|
|
|
|
|
|
@ -181,6 +325,30 @@ class ContentSecurityPolicyTest extends \Test\TestCase {
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowObjectDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedObjectDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowObjectDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowObjectDomainMultiple() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self';object-src www.owncloud.com";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedObjectDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowObjectDomain('www.owncloud.org');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowObjectDomainMultipleStakes() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedObjectDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowObjectDomain('www.owncloud.org')->disallowObjectDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetAllowedFrameDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self';frame-src www.owncloud.com";
|
|
|
|
|
|
|
|
|
|
@ -196,6 +364,30 @@ class ContentSecurityPolicyTest extends \Test\TestCase {
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowFrameDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedFrameDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowFrameDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowFrameDomainMultiple() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self';frame-src www.owncloud.com";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedFrameDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowFrameDomain('www.owncloud.org');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowFrameDomainMultipleStakes() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedFrameDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowFrameDomain('www.owncloud.org')->disallowFrameDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetAllowedChildSrcDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self';child-src child.owncloud.com";
|
|
|
|
|
|
|
|
|
|
@ -211,6 +403,30 @@ class ContentSecurityPolicyTest extends \Test\TestCase {
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowChildSrcDomain() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedChildSrcDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowChildSrcDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowChildSrcDomainMultiple() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self';child-src www.owncloud.com";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedChildSrcDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowChildSrcDomain('www.owncloud.org');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testGetPolicyDisallowChildSrcDomainMultipleStakes() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self';font-src 'self';connect-src 'self';media-src 'self'";
|
|
|
|
|
|
|
|
|
|
$this->contentSecurityPolicy->addAllowedChildSrcDomain('www.owncloud.com');
|
|
|
|
|
$this->contentSecurityPolicy->disallowChildSrcDomain('www.owncloud.org')->disallowChildSrcDomain('www.owncloud.com');
|
|
|
|
|
$this->assertSame($expectedPolicy, $this->contentSecurityPolicy->buildPolicy());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testConfigureStacked() {
|
|
|
|
|
$expectedPolicy = "default-src 'none';script-src 'self' script.owncloud.org;style-src 'self' style.owncloud.org;img-src 'self' img.owncloud.org;font-src 'self' font.owncloud.org;connect-src 'self' connect.owncloud.org;media-src 'self' media.owncloud.org;object-src objects.owncloud.org;frame-src frame.owncloud.org;child-src child.owncloud.org";
|
|
|
|
|
|
|
|
|
|
|