Veröffentlichungsdatum: 16. März 2018
Änderungsdatum: 09. Mai 2023
ssl https zertifikat gesicherte sichere verbindung formulare seo
Weblication® CMS unterstützt standardmässig https-Aufrufe Ihrer Internetseiten.
Sollen Formulardaten über eine gesicherte Verbindung (SSL) abgeschickt werden, können Sie auch in Weblication® CMS das HTTPS-Protokoll nutzen. Das CMS unterstützt HTTPS-Aufrufe standardmässig.
Auf diese Weise können Sie z.B. einen Online-Shop, Login-Formulare, Kontakt-Formulare für sensible Daten, usw. sicher vom Client zum Webserver verschicken.
Das SSL-Zertifikat sollte auf die lizenzierte Domain ausgestellt sein, damit die https-Aufrufe direkt über die lizenzierte Domain erfolgen können. Sofern kein WildCard-SSL-Zertifikat im Einsatz ist, setzen Sie die Aufrufe auf den HTTP_HOST, auf den das SSL-Zertifikat erstellt wurde (also z.B. www.domain.dd oder nur domain.dd).
Bitte beachten Sie, daß diese Anleitung eine allgemeine Anleitung ist, die eventuell in Ihrem speziellen Fall nicht den gewünschten Erfolg bringt und ggf. auf Ihr individuelles Projekt angepasst werden muß!
Bedenken Sie, daß mittlerweile der Aufruf von Seiten über HTTPS teilweise für ein besseres Suchmaschinen-Ranking sorgt, weshalb eine generelle Umstellung der Webseiten auf HTTPS zu empfehlen ist. Aber nicht nur das Ranking sollte ein Grund für den Einsatz von SSL-Zertifikaten zum HTTPS-Einsatz sein. Inhalte, die ungeschützt übertragen werden (z.B. Seiteninhalte über das HTTP-Protokoll) können manipuliert werden und somit z.B. mit Schadcode o.ä. versehen werden!
Bei einer Umstellung auf HTTPS müssen Sie darauf achten, daß alle Aufrufe in den Seiten über HTTPS erfolgen müssen. Sofern Sie in den Seiten andere Inhalte einbinden (z.B. Font-Dateien, Wetter-Apps, Styles, Skripts, etc.) müssen diese auch über https eingebunden werden. Ansonsten wird dies vom Browser als gemischter Inhalt angesehen und somit als unsicher eingestuft, was je nach Endgerät dazu führen kann, daß die Seite nicht aufrufbar ist (Sicherheitshinweis des Browsers).
In der Browserkonsole (z.B. Firebug) kann ein Hinweis z.B. wie folgt aussehen:
Mixed Content: The page at 'https://www.domain.dd/de/index.php' was loaded over HTTPS, but requested an insecure stylesheet 'http://fonts.googleapis.com/css?family=Oswald'. This request has been blocked; the content must be served over HTTPS.
Weblication® liefert die aktuellen BASE Classic und BASE (Mobile First) Projekte bereits so aus, daß über die Projektkonfiguration einstellbar ist, ob die Seiten nur über HTTPS aufrufbar sind. BASE Classic 2.x und BASE (Mobile First) Projekte, welche vor Anfang März 2018 aufgesetzt wurden, können dahingehend manuell nachgerüstet werden.
Beachten Sie:
Damit auch ausserhalb des Projektes liegende Hauptverzeichnisse (z.B. die Weblication® Software selber (/weblication bzw. ggf. /send) auch auf https umgeleitet werden, sollte die oberste .htaccess (siehe Punkt 2) auf jeden Fall abgelegt werden und mit entsprechender Umschreibregel definiert sein.
Sofern in Ihrem Projekt noch kein Konfigurationseintrag zum HTTPS-Aufruf besteht, tragen Sie diesen manuell über den Quelltext der Variablen-Datei nach. Im Standard ist der Eintrag im Block der Stammdaten untergebracht.
... <variable description="Seiten nur über HTTPS aufrufbar" key="https_only" type="char.select" values="0|1" texts="Nein|Ja">1</variable> <info>Falls die Seite nur über eine einzige Domain aufrufbar sein soll, können Sie dies weiter oben über die Schaltfläche des jeweiligen Inhaltsprojektes einstellen.</info> ...
Auf die Einstellung in der Projektkonfiguration wird über die wMyProject.php Datei des globalen Projektes abgefragt. Die executeAccessRules Funktion leitet bei aktiviertem HTTP-Aufruf (https_only Variable) die Domain-Aufrufe entsprechend auf HTTPS um.
Die gesamte Funktion entnehmen Sie am besten einem aktuellen Projekt und passen den Global-Pfad zur $httpsOnly-Variablen in der Funktion an Ihren globalen Projektpfad an (weiter unten finden Sie den Auszug, basierend auf einer BASE Classic Projektbasis).
Bei älteren BASE 2.x Projekten kann es sein, daß Sie auch den Funktionsaufruf in der pre.php zu wMyProject::executeAccessRules() und wMyProject::executeRewriteRules($preResult) noch setzen müssen (weiter unten finden Sie den Auszug, basierend auf einer BASE Classic Projektbasis).
Sofern Sie die Nachrüstung in Ihrem Projekt nicht selber durchführen können, wenden Sie sich bitte an den Support, der dies gerne als Projektdienstleistung für Sie durchführen kann.
Wollen Sie alle Aufrufe auf HTTPS umleiten, müssen Sie die .htaccess Definitionen in einer .htaccess Datei definieren, die direkt in der DOCUMENT_ROOT der Domain liegt (Pfade entsprechend anpassen).
Testen Sie bei allen Umsetzungen Ihre Präsenz auf volle Funktionalität, um evtl. Probleme auf Ihr Projekt bezogen sofort zu erkennen.
RewriteEngine on # alle Aufrufe ungleich Port 443 umleiten RewriteCond %{SERVER_PORT} !^443$ [NC] RewriteCond %{HTTP_HOST} ^(www\.)?IhreLizenzierteDomain\.tld$ RewriteRule ^(.*)$ https://www.IhreLizenzierteDomain.tld/$1 [R=301,L] ## !! Beachten Sie die Hinweise unten !!
RewriteEngine on # alle Aufrufe ungleich Port 443 umleiten RewriteCond %{SERVER_PORT} !^443$ [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] ## !! Beachten Sie die Hinweise unten !!
Ab CMS-Version 18 kann über die Systemeinstellungen (Sicherheit) ein HTTPS-Aufruf der Software-Anmeldung erzwungen werden ("Anmeldung nur über HTTPS ermöglichen" aktivieren).
Eine Umleitung über die oberste .htaccess ist dann nicht mehr erforderlich hinsichtlich dem CMS-Login.
Sofern Sie nur das Software Login-Formular (http://IhreLizenzierteDomain.tld/weblication/) und das Weblication® CMS Backend auf HTTPS umleiten wollen, können Sie dies z.B. über eine .htaccess Datei erzwingen. Hierzu gelten die allgemeinen Regeln zu mod_rewrite unter Apache.
Nachfolgend ein Beispiel für diesen Fall:
RewriteEngine on # alle Aufrufe ungleich Port 443 umleiten RewriteCond %{SERVER_PORT} !^443$ # Umleitung beschränken auf Aufrufe von /weblication (am Anfang der URL) umleiten RewriteCond %{REQUEST_URI} ^/weblication [NC] # tmpHTTP-Aufrufe und Imagescript von der Umschreibung ausschliessen, # damit Weblication Formulare und Bilder im WYSIWYG-Feld funktionieren RewriteCond %{REQUEST_URI} !^/weblication/grid5/tmpHTTP [NC] RewriteCond %{REQUEST_URI} !^/weblication/grid5/scripts/wImage.php [NC] # Umschreibregel bei zutreffen der zuvor definierten Fälle (Conditions): RewriteRule ^(.*)$ https://IhreLizenzierteDomain.tld/weblication/$1 [R=301,L] # RewriteRule mit Verwenden eines Platzhalters fuer den HTTP_HOST: # RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Beachten Sie beim vorigen Beispiel, dass ein Login-Formular in der Präsenz (z.B. als Weblic® Element eingefügt) nicht von dieser Umleitung berücksichtigt wird!