http vs. https

Begonnen von AlternativeComputing, 20 August 2009, 23:00:58

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

AlternativeComputing

Moin, :)

Ich habe ein wenig mit der baseconfig rumgespielt, um zu einen zufrieden stellendes Ergebniss mit der SSL unterstützung, für das Shopmodule zu kommen.

Es betrifft die Zeile 236:

$server = $_SERVER['HTTP_HOST'];
$proto = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off' || strtolower($_SERVER['HTTPS']) == 'on'))? 'https://' : 'http://'; (Originalzeile)

Wenn ich jetzt versuche eine https Verbindung aufzubauen, geht es soweit das der Inhalt (Text aus der DB) ausgelesen und angezeigt wird.
Die Grafiken und Syles des templates nicht, die werden mit http aufgerufen und somit nicht gefunden.

Ändere ich jetzt die Zeile in:

$server = $_SERVER['HTTP_HOST'];
$proto = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off' || strtolower($_SERVER['HTTPS']) == 'on'))? 'http://' : 'https://';

Verhält sich das genau anders herum, Aufruf via https (Statisch) funtioniert und die Grafiken und Styles der template werden angezeigt.

Nun verbindet man via http, Text wird geladen und angezeigt nur die Grafiken & Styles werden mit https geladen und nicht angezeigt da mit http angefordert wurde, sonstige Pfadangaben sind IO.

Nun komme ich so zum teilerfolg:

$server = $_SERVER['HTTP_HOST'];
if
(($proto = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')))? 'https://' : 'http://');
else
($proto = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'on'))? 'http://' : 'https://');

Nur tritt jetzt das Problem der doppelten URL vergabe auf:

http:

http://pragmamx-demo.alternative-computing.com/pragmamx-demo.alternative-computing.com/modules/catalog/images/table_background_default.gif

https:

https://ssl-id.net/pragmamx-demo.alternative-computing.com/ssl-id.net/pragmamx-demo.alternative-computing.com/images/language/flag-turkish.png

http und https werden jetzt korrekt angesprochen, nur halt mit doppelter URL, womit die Styles und Grafiken auch nicht geladen werden können.

Da ich aber gerne SSL Dynamisch einsetzen möchte:

Kunde ruft über http auf, wenn er sich in den Kundenbereich einloggen will soll er auf https verwiesen werden, das soll auch so für den Warenkorb, Kasse und den Adminbereich so sein.
Nur Dynamisch klappt es halt mit den Grafiken dann nicht.

So sollte es aussehen:

http & https

Nun dürft Ihr mich Steinigen, Kreutzigen oder mir ein tip geben was ich übersehen habe um eine Korrekte Seite, sowoll unter http als auch unter https, angezeigt bekomme.

Geht nicht gibts nicht.  ;) Diese Variable dürfte woll kaum ein Loch in die nSicherheit reißen oder doch?


MfG

Peter
MfG

Peter

AlternativeComputing

Moin,

Hab beim durchsehen der baseconf 2 Verweiste {,  } gefunden.

Zeile 107 { & Zeile 253 } beide habe kein gegestück.

MfG

Peter
MfG

Peter

comedi

Moin Peter,  :morning:

wenn ich mich richtig erinnere werden die Einstellungen dafür in der catalog/includes/configure.php und in der Datei catalog/admin/includes/configure.php vorgenommen und dort sehen die Angaben ja vollkommen anderst aus.

ZitatIch habe ein wenig mit der baseconfig rumgespielt

Wo ist denn die Datei abgelegt? :gruebel:
LG Michael


Kein Support über PN, Mail oder ICQ!

CMS-Version: pragmaMx 1.12.3 --- PHP-Version: 5.3.5
MySQL-Version: 5.1.63 --- Server-Version: Apache 2.2.4

Wer den Weg zum Ziel kennt - dann aber Umwege nimmt - muss sich nicht wundern wenn er sein Ziel nicht findet!


Gemeinschaftseite: www.pragmamx-erweiterungen.de

AlternativeComputing

Moin, :)  :morning:

Nein hier geht es nicht um das Modul selbst, sondern um die mx_baseconfig.php im includes Ordner.

Egal was ich anstelle, siehe ersten Post.

Ich geb nicht auf   :pardon:


MfG

Peter
MfG

Peter

AndyWHV

Hallo Peter,

normalerweise stellt es kein Problem dar, sichere Inhalte auf ungesicherten Seiten anzuzeigen, bei dir ist natürlich das Problem, dass auch die Domain noch anders ist.

Versuch doch einfach nicht nur das Protokoll zu spezifizieren, sondern die SSL Domain mit zu integrieren.
Bedeutet
http://www.alternative-computing.de/
für den normalen Aufruf und
https://www.ssl-id.de/www.alternative-computing.de/
für die gesicherte Verbindung.

bei deiner if Anweisung war ein Semikolon zuviel:
$server = $_SERVER['HTTP_HOST'];
if
(($proto = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')))? 'https://' : 'http://');          <----
else
($proto = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'on'))? 'http://' : 'https://');

Versuchs am besten mal so:
$server = $_SERVER['HTTP_HOST'];
$proto = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off' || strtolower($_SERVER['HTTPS']) == 'on'))? 'https://www.ssl-id.de/'; : 'http://';

ich habe es nun nicht testen können, aber die Aussicht auf Erfolg ist recht gut.

Ansonsten wundert mich die Sache mit der doppelten URL Vergabe schon, bist du sicher, dass es an der geänderten Bedingung für das Protokoll liegt ?

Gruß,
Andy

AlternativeComputing

Moin Andy, :)

Ja es ligt an der zuweisung.

Selbst dieser Code hatte das selbe Ergebnis zu folge:

$isHTTPS = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off';

if($isHTTPS) {
   // run via https://ssl-id.de/meine-domain.tld
   $proto = 'https';
   $url = 'ssl-id.de';
   $path = '/meine-domain.tld';
} else {
   // run via http://www.meine-domain.tld
   $proto = 'http';
   $domain = 'www.meine-domain.tld';
   $path = '/';
}


Wenn ich das Semikolon an der besagten stelle entferne bekomme ich Fehler Syntax error und so weiter.

Ich probiere Deinen Code sofort aus und meld mich gleich wieder.


MfG

Peter
MfG

Peter

AndyWHV

Du hast recht, das Semikolon war korrekt.

AlternativeComputing

Moin Andy, :)

$server = $_SERVER['HTTP_HOST'];
$proto = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off' || strtolower($_SERVER['HTTPS']) == 'on'))? 'https://www.ssl-id.de/'; : 'http://';

Hiermit komme ich zum selben ergebnis wie mit der Original Zeile:

$server = $_SERVER['HTTP_HOST'];
$proto = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off' || strtolower($_SERVER['HTTPS']) == 'on'))? 'https://' : 'http://';

Sprich: es werden die Grafiken, bei Aufruf mit https wieder nur mit http geladen. Da es die Adresse ssl-id.de/pragma....  unter http nicht existiert gibts auch keine Grafiken.

Ändere ich jetzt die Original Zeile in:

$server = $_SERVER['HTTP_HOST'];
$proto = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off' || strtolower($_SERVER['HTTPS']) == 'on'))? 'http://' : 'https://';

Ist es genau anders herum: bei Aufruf mit https ist alles OK nur via http nicht Grafiken nicht da.

Benutze ich meine  oder ander im Netz befindlichen Codes werden die Grafiken sowoll unter http auich mit http und unter https auch mit htts geladen. Nur jetzt kommt das eigendliche Problem:

Die Grafikadressen verlängern sich um die Jeweilige Adresse.

Sprich:

Aus: http://pragmamx-demo.alternative-computing.com/modules/catalog/images/table_background_default.gif

Wird: http://pragmamx-demo.alternative-computing.com/pragmamx-demo.alternative-computing.com/modules/catalog/images/table_background_default.gif

Und bei Https genau das gleiche:

Aus: https://ssl-id.net/pragmamx-demo.alternative-computing.com/images/language/flag-turkish.png

Wird: https:

https://ssl-id.net/pragmamx-demo.alternative-computing.com/ssl-id.net/pragmamx-demo.alternative-computing.com/images/language/flag-turkish.png

Ich hab die ganze Nacht bis heute Morgen um 4 versucht diese zu ändern ohne erfolg.

Langsam bin ich mit meinen Latein am Ende.

Die http://alternative-com.....  ist kein pragmamx sondern ein Nuke CMS, wobei es mich wundert das es dort funktioniert ohne änderungen. Liegt woll an den Speziellen Hacks von den Programieren die das Platinum gemacht haben.

Vielleicht fällt ja jemanden noch was ein. Ich werde weiter testen testen und nochmals testen.


MfG

Peter  ;)
MfG

Peter

comedi

#8
Hallo Peter,

habe gerade bei mir mit SSL getestet. Funktioniert mit der "Standertverschlüsselung" ohne Änderungen. Das hängt bei dir vielleicht daran, daß du das ganze über die Adresse anforderst.


EDIT: Jetzt wird dafür das Layout zerrissen, d.h. im nur Text des Shops werden die Umbrüche nicht mehr erkannt  und die Abschnitte in einer Zeile dargestellt. :gruebel:

Das hängt wahrscheinlich mit diser Fehlermeldung zusammen:

ZitatNotice: Use of undefined constant HTTPS_COOKIE_DOMAIN - assumed 'HTTPS_COOKIE_DOMAIN' in /...../modules/catalog/includes/functions/html_output.php on line 107
LG Michael


Kein Support über PN, Mail oder ICQ!

CMS-Version: pragmaMx 1.12.3 --- PHP-Version: 5.3.5
MySQL-Version: 5.1.63 --- Server-Version: Apache 2.2.4

Wer den Weg zum Ziel kennt - dann aber Umwege nimmt - muss sich nicht wundern wenn er sein Ziel nicht findet!


Gemeinschaftseite: www.pragmamx-erweiterungen.de

AlternativeComputing

Moin, :)

Hmmm Comedi,

Sprich über https://meinedomain.tld und http://meinedomain.tld werden die Grafiken geladen ?

Es muss doch eine Möglichkeit geben, das es auch mit der ssl-id.xx funktioniert. Habe leider keine möglichkeit es mit Real zertifikaten zu testen.

Nur mit dem ssl-id.

MfG

Peter
MfG

Peter

AlternativeComputing

Moin, :)

Ok dann funktioniert es mit der ssl-id nur Statisch.

MfG

Peter
MfG

Peter

AlternativeComputing

Mir geht es jetz in ersterline nicht um den Shop deaktivere mal den Shop und rufe dann mal deine Seite mit http und mit https auf. wenn die Seite mit beiden aufrufen einwandfrei funktioniert, kommt das pragma nicht mit den SSL Samelzertifikaten ala ssl-id etc klar.

Es sollte es so aussehen (mit ssl-id):

http & https

Das sollte doch auch mit dem pragma hinzubekommen sein, das es einwandfrei mit den Samel zertifikaten läuft, auf http und https.

und nicht so:

http & https

Hier ist es egal ob es eine Subdomain oder normale Domain ist, es würde auch mit https://ssl-xxx.xx/meinedomain.tld nicht gehen.

Es seiden ich ändere die baseconfig.

:puzzled:


MfG

Peter

MfG

Peter
[/quote]
MfG

Peter

comedi

Hoi Peter,  :)

es funktionieren alle Module auch der Shop geht jetzt.

Wahrscheinlich war der Grund, daß ich zuerst nur die Adresse ohne führendes www zu https gemacht habe. Jetzt habe ich beide zu https gemacht und es geht.

Komischerweise gingen die anderen Module aber.  :gruebel:
LG Michael


Kein Support über PN, Mail oder ICQ!

CMS-Version: pragmaMx 1.12.3 --- PHP-Version: 5.3.5
MySQL-Version: 5.1.63 --- Server-Version: Apache 2.2.4

Wer den Weg zum Ziel kennt - dann aber Umwege nimmt - muss sich nicht wundern wenn er sein Ziel nicht findet!


Gemeinschaftseite: www.pragmamx-erweiterungen.de

AlternativeComputing

Moin Comedi, *g*

Du verstehst sicherlich meine Problematik oder?

Klar geht das mit einer richtigen SSL domain, keine frage *g*

Nur was mich ägert ist siehe meinen letzten Post

MfG

Peter
MfG

Peter