diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 179db033d0312611e005b99f759ed62ef29516fc..30957cf289ffa60a85177fb38bbc214d89763322 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -243,6 +243,10 @@ class ProfileController extends Controller { $res = view('profile.embed-removed'); + if(!config('instance.embed.profile')) { + return response($res)->withHeaders(['X-Frame-Options' => 'ALLOWALL']); + } + if(strlen($username) > 15 || strlen($username) < 2) { return response($res)->withHeaders(['X-Frame-Options' => 'ALLOWALL']); } diff --git a/app/Http/Controllers/StatusController.php b/app/Http/Controllers/StatusController.php index db57d7a7b16c415a08a4f0377712666d0dafd504..7bfac3aa66c56a4f690a07080a08a6b799c37b59 100644 --- a/app/Http/Controllers/StatusController.php +++ b/app/Http/Controllers/StatusController.php @@ -106,6 +106,11 @@ class StatusController extends Controller public function showEmbed(Request $request, $username, int $id) { + if(!config('instance.embed.post')) { + $res = view('status.embed-removed'); + return response($res)->withHeaders(['X-Frame-Options' => 'ALLOWALL']); + } + $profile = Profile::whereNull(['domain','status']) ->whereIsPrivate(false) ->whereUsername($username) diff --git a/config/instance.php b/config/instance.php index d2bf9231aa1072919c2d6e3b41d0d35e3d3b4a9e..3347e8f833d70111677d3decd3c51d89300f2fa5 100644 --- a/config/instance.php +++ b/config/instance.php @@ -86,4 +86,9 @@ return [ 'enable_cc' => env('ENABLE_CONFIG_CACHE', false), 'has_legal_notice' => env('INSTANCE_LEGAL_NOTICE', false), + + 'embed' => [ + 'profile' => env('INSTANCE_PROFILE_EMBEDS', true), + 'post' => env('INSTANCE_POST_EMBEDS', true), + ], ];