From bc3e4c8fa4bae9591166e12caa3fb6bf73893102 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 21 Sep 2025 13:29:58 +0200 Subject: Add option for CSP frame-ancestors (#7857) * Add option for CSP frame-ancestors https://github.com/FreshRSS/FreshRSS/discussions/7856 * Revert contentSelectorPreviewAction * Same for f.php and api * Fix double init in f.php * No sandbox for API page --- app/Controllers/indexController.php | 4 ++-- app/Controllers/statsController.php | 2 +- app/Controllers/subscriptionController.php | 4 ++-- app/FreshRSS.php | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) (limited to 'app') diff --git a/app/Controllers/indexController.php b/app/Controllers/indexController.php index 736cc8258..7c66d308a 100644 --- a/app/Controllers/indexController.php +++ b/app/Controllers/indexController.php @@ -58,7 +58,7 @@ class FreshRSS_index_Controller extends FreshRSS_ActionController { 'default-src' => "'self'", 'frame-src' => '*', 'img-src' => '* data: blob:', - 'frame-ancestors' => "'none'", + 'frame-ancestors' => FreshRSS_Context::systemConf()->attributeString('csp.frame-ancestors') ?? "'none'", 'media-src' => '*', ]); @@ -147,7 +147,7 @@ class FreshRSS_index_Controller extends FreshRSS_ActionController { 'default-src' => "'self'", 'frame-src' => '*', 'img-src' => '* data: blob:', - 'frame-ancestors' => "'none'", + 'frame-ancestors' => FreshRSS_Context::systemConf()->attributeString('csp.frame-ancestors') ?? "'none'", 'media-src' => '*', ]); } diff --git a/app/Controllers/statsController.php b/app/Controllers/statsController.php index ddb6fcb34..4491443c0 100644 --- a/app/Controllers/statsController.php +++ b/app/Controllers/statsController.php @@ -29,7 +29,7 @@ class FreshRSS_stats_Controller extends FreshRSS_ActionController { $this->_csp([ 'default-src' => "'self'", - 'frame-ancestors' => "'none'", + 'frame-ancestors' => FreshRSS_Context::systemConf()->attributeString('csp.frame-ancestors') ?? "'none'", 'img-src' => '* data: blob:', ]); diff --git a/app/Controllers/subscriptionController.php b/app/Controllers/subscriptionController.php index 424b9a776..6573c0eb3 100644 --- a/app/Controllers/subscriptionController.php +++ b/app/Controllers/subscriptionController.php @@ -48,7 +48,7 @@ class FreshRSS_subscription_Controller extends FreshRSS_ActionController { $this->_csp([ 'default-src' => "'self'", - 'frame-ancestors' => "'none'", + 'frame-ancestors' => FreshRSS_Context::systemConf()->attributeString('csp.frame-ancestors') ?? "'none'", 'img-src' => "'self' blob:", ]); @@ -118,7 +118,7 @@ class FreshRSS_subscription_Controller extends FreshRSS_ActionController { $this->_csp([ 'default-src' => "'self'", - 'frame-ancestors' => "'none'", + 'frame-ancestors' => FreshRSS_Context::systemConf()->attributeString('csp.frame-ancestors') ?? "'none'", 'img-src' => "'self' blob:", ]); diff --git a/app/FreshRSS.php b/app/FreshRSS.php index 62e91ff95..cac803329 100644 --- a/app/FreshRSS.php +++ b/app/FreshRSS.php @@ -34,7 +34,7 @@ class FreshRSS extends Minz_FrontController { // Relax Content Security Policy to allow external images if a custom logo HTML is used Minz_ActionController::_defaultCsp([ 'default-src' => "'self'", - 'frame-ancestors' => "'none'", + 'frame-ancestors' => FreshRSS_Context::systemConf()->attributeString('csp.frame-ancestors') ?? "'none'", 'img-src' => '* data:', ]); } -- cgit v1.2.3