Seite 1 von 2

https / SSL Formulare

Verfasst: Di 8. Feb 2011, 15:19
von Martin S.
Ich bin auf der Suche nach einer Lösung, wie ich Formular-Artikel schon beim Aufruf auf https umstellen kann. Da der Kunde selber die Formulare anlegt kann ich ihm nicht zumuten ständig die htaccess anzufassen. Deshalb hatte ich die Idee ein Formular über eine interne Weiterleitung aufzurufen.
Statt nur front_content.php?idart=1 aufzurufen wollte ich das mit https://www.domain.de/cms/front_content.php?idart=1
Leider wir aber der https-Eintrag vorweg ignoriert. Dann bin ich über einen anderen Weg gegangen, aber dann gabe es ein Problem mit dem base-tag, weil die Seite dann auf https läuft, das base-Tag aber noch auf http. Dann habe ich das base-tag in den Systemeinstellungen auf false gestellt, jetzt läuft die Vorschau nicht mehr.
Hilfe, hilfe, bin ich der Einzige mit so einem Phänomen. Nach 5 Stunden suche und unendlichen Treads gebe ich einfach auf. Ich hoffe ihr habt einen Rat dazu. Danke

Re: https / SSL Formulare

Verfasst: Di 8. Feb 2011, 16:12
von idea-tec
na ganz einfach in den mandanteneinstellungen die url mit https anstatt nur http eintragen.
dann passt auch der base-tag

Re: https / SSL Formulare

Verfasst: Di 8. Feb 2011, 16:24
von Martin S.
Ich brauche das aber nicht für die komplette Website und alle Artikel, sondern lediglich für die wenigen Formularartikel

Re: https / SSL Formulare

Verfasst: Di 8. Feb 2011, 16:55
von idea-tec
also mal langsam (wegen mir altem mann, der nimmer so schnell denken kann).
du willst NUR die action eines artikels in welchem ein formular ist auf https umstellen, bzw. direkt schon den link zu einem artikel in dem ein formualr ist? ist ein bissi schwierig, nicht?
vor allem, wenn die formular-artikel in unterschiedlichen kategorien liegen und somit auch keine regel zu erkennen ist.

man könnte es mit javascript/jquery lösen. wenn formular, dann änder das protocol im browser, und tausch in der action http gegen https

also um einen ordentlichen rat zu erteilen, sind die infos ein weng ZU rar (finde ich, rein persönlich)

Re: https / SSL Formulare

Verfasst: Di 8. Feb 2011, 17:42
von Martin S.
Du hast mit deinen Ausführungen genau gesagt was ich brauche. Die komplette Website soll inkl. des baseref auf http laufen und lediglich die Formularseiten werden auf https umgestellt. Ich habe es ja mit den internen Weiterleitungen unter Eigenschaften hinbekommen, ich gebe dann den Artikel und die Action über https aus, aber mich stört die baseref, solange die auf http bleibt ist die Seite im Browser als nicht sicher dargestellt. Lösche ich die baseref für alle Seiten, dann läuft die Vorschau nicht mehr im Backend. Ich überlege schon einfach das Module Titletag zu überarbeiten und in der Konfiguration eines Artikels die kompletten Meta-Tags samt baseref mit einer Checkbox an-, bzw. auszuschalten. Aber elegant ist das auch nicht wirklich.

Re: https / SSL Formulare

Verfasst: Di 8. Feb 2011, 19:06
von idea-tec
dann mach es mit javascript doch anders rum:
- prüfen ob protocol = https
wenn ja -> ersetz im base-tag http gegen https, schwupps sollte es gehen

und meine meinung zu denen die js deaktiviert haben: denen gehört es nicht anders ;-)

Re: https / SSL Formulare

Verfasst: Di 8. Feb 2011, 20:13
von kummer
  1. base-href deaktieren.
  2. base-href-modul schreiben, welches das base-href ausgibt mit dem aktuell verwendeten protokoll (http oder https)
  3. sicherstellen, dass die ausgabepufferung eingeschaltet ist (ich bin mir nicht sicher, ob das inzwischen standardmässig der fall ist)
  4. im formularmodul prüfen, ob das verwendete protokoll https ist.
  5. wenn das nicht der fall ist einen header-redirect auf die gleiche seite mit ssl machen.

Re: https / SSL Formulare

Verfasst: Di 8. Feb 2011, 20:17
von idea-tec
kummer hat geschrieben:
  • wenn das nicht der fall ist einen header-redirect auf die gleiche seite mit ssl machen.
was meint tante goggel dazu?

Re: https / SSL Formulare

Verfasst: Di 8. Feb 2011, 20:39
von kummer
die hat keine freude an redirects. aber im allgemeinen auch kein sonderliches interesse an formularen, wenn sonst kein inhalt vorhanden ist. ungünstig freilich, wenn man zu indexierende inhalte und formulare mischt. das könnte man aber ohne weiteres vermeiden. in der regel. und die weiterleitung wird ja nur vorgenommen, wenn man die seite über das falsche protokoll anspricht. richtig verlinkt, kommt es ja gar nie zu einer weiterleitung. insofern dürfte das kein problem darstellen.

kleine korrektur zu oben: vor dem versenden des headers muss freilich die ausgabepufferung verworfen werden. versteht sich von selbst.

Re: https / SSL Formulare

Verfasst: Mi 9. Feb 2011, 07:26
von Martin S.
So ganz kann ich deiner Aufführung nicht folgen. Die Seite besteht aus ca. 100 Artikeln und davon sind aktuell 4 Formulare (Tendenz steigend) enthalten. Einem einfachen Redakteur kann und sollte man nicht zumuten in einer htaccess-Datei redirects anzulegen und diese dann per FTP auf den Server zu stellen. Das dauert keine Woche und dann geht nix mehr. Deshalb suche ich eine Alternative und hier kam mir der Gedanke mit internen Weiterleitungen. Aber leider wird die Eingabe https bei gleicher URL in den Artikel-Eigenschaften/Weiterleitung ignoriert. Deshalb bin ich über die URL der Proxi-SSL-Verbindung des Providers gegangen, dann gehts. Aber das kleine Schloß im Browserfenster zeigt ein Ausrufezeichen wenn die baseref noch auf http steht. Deshalb suche ich eine Möglichkeit die baseref für die Formularartikel auzuschalten, bzw. auf https umzustellen. Ich könnte ja über die Artikelkonfiguration eine Abfrage machen https ja/nein. Das Modul dann in den Header und den Output entsprechend anpassen. Aber ganz so einfach wie gedacht geht das leider nicht, weil ich keine Ahnung habe wo und wie ich sauber an den Output komme und was ich machen muss. Habe was von einer neuen Chain-Funktion gelesen, aber da steigen meine Kenntnisse aus.

Re: https / SSL Formulare

Verfasst: Mi 9. Feb 2011, 09:47
von kummer
Martin S. hat geschrieben:So ganz kann ich deiner Aufführung nicht folgen. Die Seite besteht aus ca. 100 Artikeln und davon sind aktuell 4 Formulare (Tendenz steigend) enthalten. Einem einfachen Redakteur kann und sollte man nicht zumuten in einer htaccess-Datei redirects anzulegen und diese dann per FTP auf den Server zu stellen.
die skizzierte lösung funktioniert ohne jegliches eingreifen eines redakteurs. wenn du den ausführungen nicht folgen kannst, wirst du es auch nicht umsetzen können. ist nicht böse gemeint; aber einfacher lässt es sich nicht darstellen. du brauchst 1 neues modul und musst das formularmodul anpassen. falls nicht bereits der fall, musst du ausserdem die ausgabepufferung einschalten. wenn das für dich böhmische dörfer sind, brauchst du jemanden, der dir das umsetzen kann. ich denke, es wird sich sicher jemand finden, wenn du das und jobs postest.

PS: die an dieser stelle auftretenden probleme sind beispielhaft für den einsatz des base-hrefs. vermutlich lässt sich das base-href in der gegenwärtigen umsetzung nicht ganz vermeiden. aber man könnte sich schon mal überlegen, ob man die ausgabe nicht dynamischer machen möchte. also wenigstens bei der ausgabe das aktuell verwendete protokoll einsetzen. das wäre vieleicht einmal ein feature request wert.

Re: https / SSL Formulare

Verfasst: Mi 9. Feb 2011, 11:04
von Martin S.
Hui, ich glaube da steige ich aus, ob_start und ob_end_flush bekomme ich sicherlich noch hin, aber was danach kommt??? Ich wüsste ja noch nicht mal was genau ich für eine Anfrage in den Bereich Job schreiben sollte.

Re: https / SSL Formulare

Verfasst: Mi 9. Feb 2011, 13:27
von kummer
don't worry. du kannst ja einfach auf diesen thread verweisen. es ist im prinzip keine grosse sache. da wird sich schon wer finden, der dir das dann umsetzen kann.

Re: https / SSL Formulare

Verfasst: Mi 9. Feb 2011, 22:56
von Mario_m
In der Datei .....contenido/plugins/chains/includes/include.chain.frontend.createbasehref.php

Am Ende der Datei muss folgender Code eingefügt werden:

$protocol = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443)) ? 'https' : 'http';
if ($protocol == 'https')
{
$sCurrentBaseHref = getEffectiveSetting('protocol', 'ssl', 0);
}
return $sCurrentBaseHref;

Diese Einstellung bewirkt, dass bei Formularen oder ssl basierten Seiten der base href auch auf ssl umgestellt wird.
In den Mandanteneinstellungen muss folgende Variable für die ssldomain gesetzt werden:

Typ: protocol
Name: ssl
Wert: https://ssldomain.de/

Ist die base href Einstellung nach der Installation durchgeführt worden, dann werden ssl basierte Seiten im base href auf die o.a. Adresse umgestellt.

Evtl. bekommst du aber noch Probleme wenn du wieder auf http wechselst. Je nach htaccess Einstellung kann es sein, dass hier weiterhin https bleibt. Dies kann man dann nur über weitere htaccess Regeln lösen.

Desweiteren können einige andere Plugins dafür sorgen, dass nicht alle Elemente per https laufen (z.B. Ausrufezeichen im Schloss der ssl Anzeige im Firefox). Diese Module sind dann noch im Code anzupassen. Ebenso wie das von dir eingesetzte Formularmodul.

Re: https / SSL Formulare

Verfasst: Mo 28. Feb 2011, 09:20
von Martin S.
Danke für deinen Lösungsweg, jetzt habe ich es endlich mal geschafft zu testen. Das Prinzip ist gut, aber wie du schon angemerkt hast, jetzt werden alle anderen Seiten auch auf https umgestellt. Habe auch an eine htaccess-Regel gedacht, aber dann nehme ich dem Redakteur wieder die Freiheit Formulare an beliebiger Stelle anzulegen.