Schritte zur Anpassung:
- Navigiere zur Konfigurationsdatei:
- Wenn der FileMaker Server auf IIS (Windows) läuft, befindet sich die web.config-Datei in einem der folgenden Verzeichnisse:
C:\Program Files\FileMaker\FileMaker Server\HTTPServer\conf
- Wenn der Server auf Apache (macOS) läuft, befindet sich die Konfiguration in:
/Library/FileMaker Server/HTTPServer/conf
- Wenn der FileMaker Server auf IIS (Windows) läuft, befindet sich die web.config-Datei in einem der folgenden Verzeichnisse:
- Öffne die
web.config-Datei mit einem Texteditor mit Administratorrechten. - Füge die X-Frame-Optionen hinzu oder passe sie an: Um das Einbetten der WebDirect-Seite in einem iFrame zu erlauben, musst du die Option ALLOW-FROM für bestimmte Domains festlegen oder auf SAMEORIGIN setzen.
Beispiel für eine Konfiguration:
xml<httpProtocol>
<customHeaders>
<add name="Content-Security-Policy" value="frame-ancestors 'self' https://www.volk-volk.de" />
<add name="X-Frame-Options" value="ALLOW-FROM https://www.volk-volk.de" />
<add name="X-XSS-Protection" value="1; mode=block" />
</customHeaders>
</httpProtocol>Erklärung:
ALLOW-FROM https://deine-webseite.de: Erlaubt das Einbetten der WebDirect-Seite nur auf der angegebenen Domain.- Wenn du möchtest, dass die Seite auch auf verschiedenen Domains eingebettet werden kann, musst du entsprechende Einträge hinzufügen.
- Speichere die Datei und starte den Webserver neu, damit die Änderungen übernommen werden.
Render WebDirect in an Iframe
Dazu die Hinweise von ChatGPT nachdem die Situation geschildert wurde:
Um die Einbindung des FileMaker-Servers nur in ein Iframe auf der Domain volk-volk.de zu ermöglichen, sollten Sie die HTTP-Header gezielt anpassen. Die veraltete ALLOW-FROM-Option von X-Frame-Options sollte vermieden werden, da sie von den meisten modernen Browsern nicht mehr unterstützt wird. Stattdessen ist es besser, die Content-Security-Policy (CSP) zu verwenden.
Hier ist eine empfohlene Änderung, die Sie in der Konfigurationsdatei vornehmen können:
1. Sicherheitsheader korrekt definieren:
Fügen Sie folgende Zeilen hinzu, um die Einbindung in ein Iframe auf die gewünschte Domain zu beschränken:
# Erlaubt nur die Einbindung von Frames auf volk-volk.de
Header always set Content-Security-Policy "frame-ancestors 'self' https://www.volk-volk.de;"
# Optional: Entfernt X-Frame-Options, da CSP bevorzugt wird
Header always unset X-Frame-Options
2. Einfügen in die richtige Stelle der Konfiguration:
Die Änderungen sollten in einem passenden Kontext erfolgen, z. B. in einer <VirtualHost>-Definition oder direkt global, wenn es für den gesamten Server gelten soll. Beispiel für eine <VirtualHost>-Anpassung:
<VirtualHost *:80>
ServerName your-server-domain
DocumentRoot "/path/to/your/documentroot"
# Sicherheitsheader für CSP
Header always set Content-Security-Policy „frame-ancestors ’self‘ https://www.volk-volk.de;“
# Entfernen von X-Frame-Options
Header always unset X-Frame-Options
# Weitere Einstellungen...
</VirtualHost>
3. Rechteprüfung:
Nach der Änderung sollten Sie sicherstellen, dass:
- Die Konfigurationsdatei die korrekten Rechte hat (z. B.
chmod 644und Eigentümer passend zum Serverprozess). - Der Benutzer des HTTP-Servers auf die Datei und die Logs zugreifen kann.
4. Syntaxprüfung und Neustart:
Führen Sie vor dem Neustart des Servers eine Syntaxprüfung durch:
apachectl configtest
Wenn keine Fehler gemeldet werden, starten Sie den Server neu:
systemctl restart apache2
Hinweis:
Mit dieser Konfiguration wird verhindert, dass Inhalte von anderen Domains in ein Iframe eingebettet werden. Sollte das Problem weiterhin bestehen, kann es an zusätzlichen Faktoren wie Caching oder Proxy-Einstellungen liegen. Stellen Sie sicher, dass der Browser-Cache geleert und der Server-Cache aktualisiert wird.