SSL Einstellungen & HTTPS Enforce / DMC HTTPS

Viele Installationen benötigen für Datenübertragungen oder sonstiges eine sichere Verbindung. Eigentlich sind die Unternehmen sogar dazu verpflichtet, persönliche Daten sicher zu übertragen. Leider gibt es keine Extension ist mir keine Extension bekannt, welche eine HTTPS Verbindung auf saubere Art und Weise erzwingt.

Wir verwendeten fürher recht oft die Extension https_enforcer. Vor einiger Zeit bin ich drauf gekommen, dass die o.g. Extension leider per INT-Script included wird, und so per se für alle Seiten der Website die höchste Cachingebene ausschaltet. Deshalb haben wir folgende trickreiche Einstellung vorgenommen, damit das Plugin nur im notwendigen Fall aktiviert wird (was bedeutet, dass im Umkehrschluss, dass kein HTTP Enforce möglich ist):

[globalVar = TSFE:page|tx_httpsenforcer_force_secure = 1]
#Ist es eingeschaltet, nimm einen sicheren Base-HREF
config.baseURL = https://www.***.de

#Installation nach Manual
page.5 < plugin.tx_httpsenforcer_pi1
[global]

Wir hatten aber Schwierigkeiten, auch ein HTTP Enforce, bzw. ein HTTPS Unenforce möglich zu machen, da die Besucher – einmal im SSL-Protokoll – nicht mehr davon wegkamen. Das SSL Protokoll benötigt nämlich sehr viele Server Resourcen und das ist auf Dauer sehr teuer für den Kunden.

Also haben wir folgende Extension installiert, welche ebenfalls den Umgang mit SSL regelt. Wir mussten die Extensionleicht modifizieren (t3x_dmc_https-0_2_1-z-200906021813.zip), sodaß beide Extensions auf das Feld pages.tx_httpsenforcer_force_secure zugreifen. Die Extension ist im Gegensatz zur https_enforcer (Zwingt den Besucher auf HTTPS) eine weiche Forcierung eines Protokolls, daher spielen beide Extensions gut zusammen. Sie verändert die generierten Menüs und Links in der Hinsicht, dass – falls der SSL Modus aktiviert ist – absolute Links auf alle Seiten gesetzt werden, die pages.tx_httpsenforcer_force_secure=0 haben.

Getagged mit: ,
Veröffentlicht unter TYPO3 Extensions
11 Kommentare auf “SSL Einstellungen & HTTPS Enforce / DMC HTTPS
  1. Michael sagt:

    Ich habe jetzt mal die beiden Extension zusammengeführt:

    http://typo3.org/extensions/repository/view/https/current/

  2. Die Zusammenführung ist gut, enthält m.E. aber einen logischen Fehler.
    Dieser steht in Zusammenhang mit der Verwendung unterschiedlicher Domains für sichere / unsichere Verbindung.
    https_enforcer bietet das per Konfiguration (Constants) an. Nun schreibt dmc_https die Links für Seiten mit
    entsprechender Definition für https zwar um, aber nur das Protokoll. Ruft man nun die Seite auf, fühlt sich
    http_enforcer auch nicht mehr zuständig da ja das Protokoll bereits https ist.

    Ich habe mir da wie folgt beholfen.

    In der Funktion user_t3lib_tstemplate_linkData_https($params,&$obj) der Library https_lib.php
    hole ich mir die Information der abweichenden Domains.

    $unsecure_domain = $GLOBALS[‚TSFE‘]->tmpl->setup[‚plugin.‘][‚tx_https_pi1.‘][‚unsecure_typo3_root‘];
    $secure_domain = $GLOBALS[‚TSFE‘]->tmpl->setup[‚plugin.‘][‚tx_https_pi1.‘][’secure_typo3_root‘];

    Die Attribute werden dann im if($force_modus) Block verwendet.
    // $s_server = $_SERVER[„HTTP_HOST“];
    if($to_type == HTTP_PREFIX){
    $s_server = $unsecure_domain;
    } elseif($to_type == HTTPS_PREFIX){
    $s_server = $secure_domain;
    }

    Viele Grüße,

    Claus

  3. Michael sagt:

    Hm, den Fall hatte ich nicht. Werde ich bei Gelegenheit mal testen und einbauen. Danke!

  4. Marek sagt:

    Hi,

    Vielen Dank. Das hat mir sehr geholfen, hab lange Zeit nach einer Lösung gesucht, da der IE mir die Seiten dann immer ohne CSS dargestellt hat, hab so passts jetzt.

    Danke

    Marek

  5. Jens sagt:

    Hallo zusammen

    Ich habe die neueste Version von PHP installiert und da ist die Funktion eregi_replace() deprecated. Das Plugin funktioniert damit nicht mehr. Ich bekomme die Fehlermeldung:

    t3lib_error_Exception
    PHP : Function eregi_replace() is deprecated in …/typo3conf/ext/https/libs/https_lib.php line 74

    Die Zeile
    $LD[‚totalURL‘] = eregi_replace($from_type.$s_server, “, $LD[‚totalURL‘]);

    Muss irgendwie angepasst werden.
    Kann mir da jemand helfen?

    Vielen Dank im Voraus
    Jens

  6. Daniel sagt:

    Hallo,

    Es sieht so aus als würde es mit „preg_replace“ angepasst.
    http://www.php.net/manual/de/reference.pcre.pattern.posix.php

    Hoffe es hilft.
    Lg
    Dani

  7. Daniel sagt:

    Sorry,

    Damit muss man es lösen: „str_replace“,
    $LD[‚totalURL‘] = str_replace($from_type.$s_server, “, $LD[‚totalURL‘]);

    Dani

  8. Florian sagt:

    Das Skript hat noch ein kleines Problem bei externen URLs in Verbindung mit CoolURI. In dem Fall wird der externen URL auch ein http://www.domain.de vorne angestellt.

    Ich habe mir in der Datei https_lib.php mit einer kleinen Funktion beholfen die testet ob es sich bei der Seite um eine Externe URL handelt:

    function checkForExternalURL($uid) {
    $page = $GLOBALS[‚TSFE‘]->sys_page->getPage($uid);
    if($page[‚doktype‘] == 3) return true;
    }

    In diesem Fall macht die Extension jetzt einfach nichts:

    if(checkForExternalURL($page[‚uid‘])) {
    //The page is an external URL, do nothing
    } else $LD[‚totalURL‘] = $to_type.$s_server.$script_path.$add_slash.$LD[‚totalURL‘];

    Keine Ahnung ob das die eleganteste Lösung ist, aber es funktionert.

  9. maygyver sagt:

    Moin,
    ich versuche gerade das https plugon zum laufen zu bekommen.

    Ich nutze einen ssl proxy bei domainfactroy.
    Auf meiner Startseite gibt es eine ssl enabledte Seite. Diese wird aber immer mit https://www.domain.de verlinkt. Wenn ich klicke kommt eine Zerifikatswarnung und dann der temporarily move auf https://sslsites.de/www.domain.de.

    Auf der folgenden Seite ist dann der SeitenLink im Menü richtig mit sslsites.de, alle anderen aber falsch.

    Ich arbeite mit cooluri. Hat da jemand eine Idee?

    Sven

  10. maygyver sagt:

    Problem gefunden.

    Es muss der versteckte Schalter force_links auf 0 gesetzt werden.

  11. d4vid sagt:

    Weiß jemand was maygyver mit „dem versteckten Schalter force_links“ meint?

1 Pings/Trackbacks für "SSL Einstellungen & HTTPS Enforce / DMC HTTPS"

Schreibe einen Kommentar

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

*