Probleme mit HTTPS

Hast du Probleme Admidio einzurichten? Hier kannst du Fragen rund um die Einrichtung stellen.
Antworten
chse
Beiträge: 1
Registriert: 18. Dez 2014, 01:57

Probleme mit HTTPS

Beitrag von chse »

Hallo zusammen

Habe Admidio zur Evaluation auf meiner gesicherten Testumgebung eingerichtet.

Leider habe ich probleme mit HTTPS:
Generell funktionieren alle bisher getesteten Seiten einwandfrei mit HTTPS, ausser automatische Weiterleitungen.
Sobald ich z.B. eine Einstellung Speichere werde ich automatisch auf HTTP statt HTTPS weitergeleitet.
(Die Einstellungen werden einwandfrei gespeichert, aber nachher erhalte ich die Meldung: "403 - Verboten: Zugriff verweigert.")

Der Webserver hat eine etwas spezielle Konfiguration: HTTPS-Seiten können NUR über HTTPS geöffnet werden und sind aus Sicherheitsgründen schon Serverseitig garnicht über HTTP erreichbar.
(Aus diesem Grund erscheint natürlich auch obige Meldung.)


Leider habe ich bisher im Quellcode nicht gefunden, wie die URL für die automatische Weiterleitung generiert wird.

Bin für jeden Hinweis dankbar.

Gruss
Christian


[Edit1]:
Ich arbeite mit der momentan aktuellen Version: 2.4.8



[Edit2]:
Habe eine mögliche Lösung gefunden.
Das Problem liegt bei der Funktion, wie die 'CURRENT_URL' ermittelt wird.
Habe durch reverse-engineering herausgefunden, dass der "Haken" offenbar an folgender Stelle lag:
admidio-2.4.8\adm_program\system\constants.php
(ab Zeile 35)

Code: Alles auswählen

// current called url (only this way possible, because SSL-Proxies couldn't be read with _SERVER parameter)
    define('CURRENT_URL',$g_root_path. substr($_SERVER['SCRIPT_FILENAME'], strrpos($_SERVER['SCRIPT_FILENAME'], "/adm_")). '?'. $_SERVER['QUERY_STRING']);
}
else
{
    define('CURRENT_URL', "http://". $_SERVER['HTTP_HOST']. $_SERVER['REQUEST_URI']);
}

Folgende Änderung scheint das Problem für mich gelöst zu haben (unterscheidung von HTTP/HTTPS):

Code: Alles auswählen

// current called url (only this way possible, because SSL-Proxies couldn't be read with _SERVER parameter)
    define('CURRENT_URL',$g_root_path. substr($_SERVER['SCRIPT_FILENAME'], strrpos($_SERVER['SCRIPT_FILENAME'], "/adm_")). '?'. $_SERVER['QUERY_STRING']);
}
else if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") { 
    define('CURRENT_URL', "https://". $_SERVER['HTTP_HOST']. $_SERVER['REQUEST_URI']);
} else { 
    define('CURRENT_URL', "http://". $_SERVER['HTTP_HOST']. $_SERVER['REQUEST_URI']);
}

(Funktionalität mit Proxy / Reverse-Proxy habe ich bisher nicht getestet...)


[Edit3]
Uuuuund noch ein Nachtrag:
Hinter Reverse-Proxy (mit HTTPS) getestet und hat einwandfrei funktioniert.
weissst
Developer
Beiträge: 342
Registriert: 4. Nov 2011, 18:07
Wohnort: 54xx

Re: Probleme mit HTTPS

Beitrag von weissst »

Hallo,

wir haben jetzt mal ein Update für HTTPS in die nächste Version eingebaut!
danke für deine hilfe und Information.
Wir hoffen, dass diese Version in den nächsten Wochen fertig werden wird...

lg
stefan
Antworten