mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-31 05:11:27 +00:00 
			
		
		
		
	add hook getCspRules() in htmlStartPage()
This commit is contained in:
		
							parent
							
								
									359be28912
								
							
						
					
					
						commit
						ae08602e68
					
				|  | @ -58,18 +58,21 @@ class SeedDMS_Theme_Style extends SeedDMS_View_Common { | |||
| 			 * Content-Security-Policy since version 23+ | ||||
| 			 * 'worker-src blob:' is needed for cytoscape | ||||
| 			 */ | ||||
| 			$csp_rules = ''; | ||||
| 			$csp_rules .= "script-src 'self' 'unsafe-eval'"; | ||||
| 			$csp_rules = []; | ||||
| 			$csp_rule = "script-src 'self' 'unsafe-eval'"; | ||||
| 			if($this->nonces) { | ||||
| 				$csp_rules .= " 'nonce-".implode("' 'nonce-", $this->nonces)."'"; | ||||
| 				$csp_rule .= " 'nonce-".implode("' 'nonce-", $this->nonces)."'"; | ||||
| 			} | ||||
| 			$csp_rules .= ";"; | ||||
| 			$csp_rules .= " worker-src blob:;"; | ||||
| 			//$csp_rules .= "style-src 'self';";
 | ||||
| 			$csp_rules[] = $csp_rule; | ||||
| 			$csp_rules[] = "worker-src blob:"; | ||||
| 			//$csp_rules[] = "style-src 'self'";
 | ||||
| 			/* Do not allow to embed myself into frames on foreigns pages */ | ||||
| 			$csp_rules .= " frame-ancestors 'self';"; | ||||
| 			$csp_rules[] = "frame-ancestors 'self'"; | ||||
| 			if($this->hasHook('getCspRules')) { | ||||
| 				$csp_rules = $this->callHook('getCspRules', $csp_rules); | ||||
| 			} | ||||
| 			foreach (array("X-WebKit-CSP", "X-Content-Security-Policy", "Content-Security-Policy") as $csp) { | ||||
| 				header($csp . ": " . $csp_rules); | ||||
| 				header($csp . ": " . implode('; ', $csp_rules).';'); | ||||
| 			} | ||||
| 		} | ||||
| 		header('X-Content-Type-Options: nosniff'); | ||||
|  |  | |||
|  | @ -58,18 +58,21 @@ class SeedDMS_Theme_Style extends SeedDMS_View_Common { | |||
| 			 * Content-Security-Policy since version 23+ | ||||
| 			 * 'worker-src blob:' is needed for cytoscape | ||||
| 			 */ | ||||
| 			$csp_rules = ''; | ||||
| 			$csp_rules .= "script-src 'self' 'unsafe-eval'"; | ||||
| 			$csp_rules = []; | ||||
| 			$csp_rule = "script-src 'self' 'unsafe-eval'"; | ||||
| 			if($this->nonces) { | ||||
| 				$csp_rules .= " 'nonce-".implode("' 'nonce-", $this->nonces)."'"; | ||||
| 				$csp_rule .= " 'nonce-".implode("' 'nonce-", $this->nonces)."'"; | ||||
| 			} | ||||
| 			$csp_rules .= ";"; | ||||
| 			$csp_rules .= " worker-src blob:;"; | ||||
| 			//$csp_rules .= "style-src 'self';";
 | ||||
| 			$csp_rules[] = $csp_rule; | ||||
| 			$csp_rules[] = "worker-src blob:"; | ||||
| 			//$csp_rules[] = "style-src 'self'";
 | ||||
| 			/* Do not allow to embed myself into frames on foreigns pages */ | ||||
| 			$csp_rules .= " frame-ancestors 'self';"; | ||||
| 			$csp_rules[] = "frame-ancestors 'self'"; | ||||
| 			if($this->hasHook('getCspRules')) { | ||||
| 				$csp_rules = $this->callHook('getCspRules', $csp_rules); | ||||
| 			} | ||||
| 			foreach (array("X-WebKit-CSP", "X-Content-Security-Policy", "Content-Security-Policy") as $csp) { | ||||
| 				header($csp . ": " . $csp_rules); | ||||
| 				header($csp . ": " . implode('; ', $csp_rules).';'); | ||||
| 			} | ||||
| 		} | ||||
| 		header('X-Content-Type-Options: nosniff'); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Uwe Steinmann
						Uwe Steinmann