Wer versucht Nextcloud per iFrame einzubinden wird herausfinden, dass dies so einfach nicht möglich ist. Wie es doch funktioniert, zeige ich euch hier.

Ihr müsst lediglich eine Datei öffnen und dort einen Eintrag abändern. Diese Datei öffnen ihr mit:

nano /var/www/html/nextcloud/lib/private/legacy/response.php

Den Pfad zur Datei müsst ihr natürlich entsprechend anpassen.

Dort geht ihr in die Zeile 262 und kommentiert folgende Zeile aus:

header('X-Frame-Options: SAMEORIGIN'); // Disallow iFraming from other domains

Das Ergebnis sollte so aussehen:

        public static function addSecurityHeaders() {
                /**
                 * FIXME: Content Security Policy for legacy ownCloud components. This
                 * can be removed once \OCP\AppFramework\Http\Response from the AppFramework
                 * is used everywhere.
                 * @see \OCP\AppFramework\Http\Response::getHeaders
                 */
                $policy = 'default-src \'self\'; '
                        . 'script-src \'self\' \'unsafe-eval\' \'nonce-'.\OC::$server->getContentSecurityPolicyNonceManager()->getNonce().'\'; '
                        . 'style-src \'self\' \'unsafe-inline\'; '
                        . 'frame-src *; '
                        . 'img-src * data: blob:; '
                        . 'font-src \'self\' data:; '
                        . 'media-src *; '
                        . 'connect-src *; '
                        . 'object-src \'none\'; '
                        . 'base-uri \'self\'; ';
                header('Content-Security-Policy:' . $policy);
                #header('X-Frame-Options: SAMEORIGIN'); // Disallow iFraming from other domains

Nun startet ihr noch euren Webserver neu. Bei nginx funktioniert das folgendermaßen:

service nginx restart

 

Teile diesen Beitrag
Christian

Categories:

2 Kommentare

  1. Hallo Christian,
    ich habe die Zeile mit # auskommentiert und den Webserver (Apache) bereits mehrmals neu gestartet. Leider funktioniert das Anzeigen einer Ordnerfreigabe in einem iFrame dennoch nicht.
    Hast Du vielleicht noch eine Idee dazu?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.