Author Topic: Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick  (Read 8788 times)

0 Members and 1 Guest are viewing this topic.

Offline Bommel

  • Full Member
  • ***
  • Posts: 114
    • View Profile
Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick
« on: January 07, 2010, 06:46:24 AM »
Hallo allerseits,

zuerst einmal - bitte entschuldigt, wenn diese Anfrage vielleicht schon einmal im Forum vorhanden sein sollte. Ich habe gestern ausgiebig danach gesucht, jedoch nur dieses Thema gefunden:

registration page SSL protected - http://www.4homepages.de/forum/index.php?topic=8542.msg39512#msg39512

Diese Variante habe ich auch bei den relevanten Seiten umgesetzt. Jedoch reicht mir das nicht. Da ich aber in Sachen php und Scripte nicht ganz so bewandert bin, versuche ich es jetzt mal hiermit.

Meine Seite ist nur für registrierte Benutzer aus meiner Familie zugänglich. Da ich in meiner Familie einige Benutzer habe, die mit Computer nicht so bewandert sind, möchte ich dort bezüglich SSL noch einige Vorkehrungen treffen. Wie oben schon erwähnt, habe ich die Idee aus dem genannten Thread bereits umgesetzt. Ich möchte aber auch, dass vor dem Anmelden die Seite an das SSL übergeben wird. Hierfür gibt es zwei Möglichkeiten:
  • Einmal über eine Weiterleitung von http zu https. Hierbei versage ich leider mit meinem Wissen. Weiterleitung per .htaccess verursacht immer wieder Fehlermeldungen.
  • Oder ich benutze ein Script, wo der Benutzer vorher daran erinnert wird, auf die SSL-Variante umzuschalten. In diesem Fall erscheint eine blinkende Warnmeldung mit einem Link zum Umschalten in der Anmeldemaske. Sobald auf SSL umgeschaltet ist, verschwindet dieser Warnhinweis.
Mir persönlich sagt die letztere Variante zu. Wie muss ich das bewerkstelligen? Ich möchte nicht, dass ihr mir ein fertiges Script liefert, denn ich möchte es auch verstehen lernen. Das geht nur, wenn ich es selber mache. Ich benötige aber hierfür Hinweise und Ansätze in die richtige Richtung.

Vielen Dank schon mal im Voraus für eure Hilfe. :)

Freundliche Grüße Bommel

Nachtrag: Ich vergaß zu erwähnen - ich benutze 4images V1.7.7 mit Iceberg-Template.

Nachtrag (15:35 Uhr):

So... ich habe mich jetzt damit weiter befasst. Kann folgendes Grundscript benutzt werden, um die Abfrage des benutzten Protokolls durchzuführen?

Code: [Select]
<?php
if($_SERVER["SERVER_PORT"] == 80) {
echo 
"Sie benutzen kein HTTPS!";
} else if (
$_SERVER["SERVER_PORT"] == 443) {
echo 
"Sie benutzen HTTPS.";
}
?>

Freundliche Grüße Bommel
« Last Edit: January 07, 2010, 03:38:36 PM by Bommel »
Freundliche Grüße, Bommel

Nicht die Geduld mit mir verlieren, ich bin noch am Lernen./ Do not lose the patience with me, I am still in the learning. ;)

Rembrandt

  • Guest
Re: Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick
« Reply #1 on: January 07, 2010, 07:09:38 PM »
Hi!
versuche doch mal das in der htaccess:
Code: [Select]
RewriteEngine On
RewriteCond %{SERVER_PORT}   !^443$
RewriteRule  (.*)  https://%{HTTP_HOST}/$1   [L]

vorraussetzung dafür ist das am server das modul "mod_rewrite" aktiviert ist.

mfg Andi

Offline Bommel

  • Full Member
  • ***
  • Posts: 114
    • View Profile
Re: Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick
« Reply #2 on: January 07, 2010, 09:12:55 PM »
Hallo Rembrandt,

Danke für den Tip, aber das funktioniert leider auch nicht. Egal wie ich es mit der .htaccess drehe, es kommt dann immer diese Fehlermeldung:

Quote
Serverfehler!

Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist. Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 500

Laut phpinfo() ist das "mod_rewrite"-Modul geladen. Bedeutet das auch, das es aktiviert ist?

Was das Script anbelangt so habe ich vorübergehend folgende Zwischen-Lösung eingesetzt:

Code: [Select]
<?php
if($_SERVER["SERVER_PORT"] == 80) {
echo 
'<font color=#FF0000><b>Die Verbindung zu dieser Webseite ist momentan nicht verschl&#252;sselt und daher unsicher. Bitte aktivieren sie das sichere SSL-Protokoll.</b></font><br><br>';
echo 
'<a href="https://www.meine-domain.de/"><center>SSL-Protokoll aktivieren</center></a><br>';
} else if (
$_SERVER["SERVER_PORT"] == 443) {
echo 
"<center><img src={template_url}/images/rapidssl_ssl_certificate.gif><br></center>";
}
?>

und bei den entsprechenden Template-Dateien in die Benutzerbox eingefügt.

Ist natürlich nicht das "Gelbe vom Ei", aber es funktioniert. Allerdings möchte ich das ganze noch um den blinkenden Text erweitern. Auch soll dieses Script immer zu der Seite hingehen, von wo aus das SSL-Protokoll aktiviert wurde. Für mich als Laie eine regelrechte Herausforderung. Aber wie sagt man so schön: "Von nichts kommt nichts."

Freundliche Grüße Bommel
Freundliche Grüße, Bommel

Nicht die Geduld mit mir verlieren, ich bin noch am Lernen./ Do not lose the patience with me, I am still in the learning. ;)

Offline Bommel

  • Full Member
  • ***
  • Posts: 114
    • View Profile
Re: Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick
« Reply #3 on: January 10, 2010, 07:35:12 AM »
Hallo Rembrandt,

nachdem ich jetzt ein neues Problem mit der Weiterleitung auf SSL mittels diesem MOD bekommen hatte:

http://www.4homepages.de/forum/index.php?topic=8542.msg144436#msg144436

habe ich noch eine ganze Menge hier im Forum durchsucht. Eine direkte Lösung dieses Problems habe ich nicht finden können. Aber ich bin auf etwas anderes gestoßen. Du hast mir weiter oben vorgeschlagen, wie ich es mittels .htaccess probieren sollte. Das hat jedoch nicht funktioniert. Scheinbar gehöre ich mit zu denjenigen, die bezüglich der .htaccess-Datei Probleme haben.

Nun habe ich aber das hier gefunden:

http://www.4homepages.de/forum/index.php?topic=25322.msg138737#msg138737

wo beschrieben wird, wie man die .htaccess-Datei in 4Images integriert. Meine Frage lautet - lässt sich dieses auch für die SSL-Weiterleitung realisieren? Dort wird es zwar für den Adminbereich durchgeführt, aber ich denke mir dass dies ohne weiteres auch für den Besucherbereich gemacht werden könnte. Wenn es denn möglich ist. Was sagst du dazu?

Code: [Select]
if($requireSSL && $_SERVER['SERVER_PORT'] != 443) {
   header("HTTP/1.1 301 Moved Permanently");
   header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
   exit();
}

Freundliche Grüße, Bommel

Nachtrag: Habe jetzt ein wenig probiert und das Script angepasst. In der index.php habe ich nach diesen Zeilen:

Code: [Select]
define('GET_CACHES', 1);
define('ROOT_PATH', './');
define('GET_USER_ONLINE', 1);

folgendes eingefügt:

Code: [Select]
if ($_SERVER['SERVER_PORT']!=443)
{
$url = "https://". $_SERVER['SERVER_NAME'] . ":443".$_SERVER['ROOT_PATH'];
header("Location: $url");
}

Das greift zuerst einmal, jedoch nicht durchgängig bei allen Seiten u.a. die Top10, Suche, Mitgliederliste, Passwort vergessen. Die Startseite, das Kontaktformular oder das Impressum funktioniert ohne Probleme und wird direkt auf SSL weitergeleitet. Leider weiß ich im Moment nicht, wo der Fehler liegt. Hat irgendeiner eine Idee?

Freundliche Grüße, Bommel

Nachtrag:

Guten Morgen Bommel...  :oops:... das kann ja auch nicht funktionieren. Ach menno, wie kriege ich das gebacken, dass immer zu der richtigen Seite auf SSL umgeleitet wird. Jetzt erst mal einen guten Kaffee trinken.

« Last Edit: January 10, 2010, 08:55:51 AM by Bommel »
Freundliche Grüße, Bommel

Nicht die Geduld mit mir verlieren, ich bin noch am Lernen./ Do not lose the patience with me, I am still in the learning. ;)

Offline Bommel

  • Full Member
  • ***
  • Posts: 114
    • View Profile
Re: Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick
« Reply #4 on: January 13, 2010, 06:15:30 PM »
Hallo allerseits,

so ich lege dieses Thema erst einmal beiseite und kümmere mich um die anderen noch anstehenden Korrekturen, da diese wichtiger sind. Egal was ich versuche, es klappt nicht 100%ig.

Insbesondere die Tatsache, dass das Script nur bei diversen Links auf SSL umleitet, macht mir zu schaffen. Ein Beispiel:
  • Ist im Template die Url im Format: <a class="common" href="./support.php">Meine Support-Tickets</a> angegeben, dann leitet das Script nicht auf SSL um.
  • Ist im Template die Url im Format: <a class="common" href="index.php?template=impressum">Impressum</a> angegeben, dann leitet das Script auf SSL um.
Wahrscheinlich muss ich hier auch noch etwas lernen. Ich sagte ja schon, ich bin nicht der Profi in Sachen PHP.

Was mir aber auch aufgefallen ist. Wenn ich mich nicht irre (mein Englisch ist nicht so gut), so wird hier im Forum das Thema "automatische SSL-Weiterleitung per Script" in 4Images auch sehr zaghaft angefasst.  Tips zu .htaccess finde ich einige. Nur funktioniert bei mir die selbsterstellte .htaccess nicht. 4Images verweigert dann den Dienst. Aber andere Anfragen werden z.T. gar nicht beantwortet. Ist "automatische SSL-Weiterleitung per Script" und 4Images grundsätzlich ein "heißes Eisen" welches man lieber nicht anfasst? Oder befinde ich mich da als Neuling im Irrtum?

Freundliche Grüße, Bommel
Freundliche Grüße, Bommel

Nicht die Geduld mit mir verlieren, ich bin noch am Lernen./ Do not lose the patience with me, I am still in the learning. ;)

Rembrandt

  • Guest
Re: Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick
« Reply #5 on: January 13, 2010, 06:21:20 PM »
...
. Ist "automatische SSL-Weiterleitung per Script" und 4Images grundsätzlich ein "heißes Eisen" welches man lieber nicht anfasst? ...
ich frage mich wozu eine bilder seite per SSL übertragen,  also wozu der mehraufwand?

Offline Bommel

  • Full Member
  • ***
  • Posts: 114
    • View Profile
Re: Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick
« Reply #6 on: January 13, 2010, 06:37:19 PM »
Hallo Rembrandt,

es gibt eine einfache Antwort - es sind alles persönliche Fotos, die ich über Internet meiner landesweit verstreuten Familie und Verwandschaft zur Verfügung stellen möchte. Auf dieses Online-Album haben demzufolge auch nur diese Menschen Zugriff. Und so soll es auch bleiben und das möglichst unter meiner Kontrolle. Diskussionen wie "Dann stelle doch die Bilder bei Windows Live, bei Facebook, einem Bilderhoster etc. zur Verfügung." habe ich schon zur Genüge durch und will sie hier auch gar nicht erst anfangen. Es gibt reichlich Gründe dagegen.

Und ich weiß auch, dass niemals eine 100%ige Sicherheit gegeben ist. Doch das bedeutet nicht, dass ich selbst nicht alles versuche, um die Sicherheit so weitgehend wie möglich herzustellen. Und dazu gehört nun mal auch die verschlüsselte Verbindung. Hier möchte ich aber der Demenz einiger Mitglieder vorbeugen und eine automatische Weiterleitung einbauen.

Freundliche Grüße, Bommel
Freundliche Grüße, Bommel

Nicht die Geduld mit mir verlieren, ich bin noch am Lernen./ Do not lose the patience with me, I am still in the learning. ;)

rinaldos

  • Guest
Re: Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick
« Reply #7 on: January 16, 2010, 03:39:52 PM »
Hi Bommel,
ich klinke mich gerade mal ein.
Also persönliche Bilder müssen doch auch nicht via SSL übertragen werden, oder? Die Anmeldung via SSL macht Sinn, dann werden die Passwörter verschlüsselt übertragen.
Wenn ich deine persönlichen Bilder sehen möchte, als Hacker oder sonstiges, gibt es einfacherer Wege als einen HTTP Strom abzulauschen und den dann wieder umzuwandeln. Mir würden bei 4images sicherlich noch andere Wege einfallen um Deine Bilder auf dem Server zu sehen.

Von daher würde ich nur die Registrierungsseite via SSL verschlüsseln, alles andere ist ein "zu hoher aufwand". Der Aufwand liegt eben in den zusätzlichen Änderungen, SUPPORT MOD, oder ähnliche, denen den Zugang über SSL beizubringen.

Solltest du was anderes wollen, schalte den Port 80 ab, verwende Deine Seite nur über SSL, keine anderen Scripte, und du hast ein ruhigeres Gewissen. Du musst dann aber auch die  Benutzerregistrierung abschalten und deine Verwandten von Hand registrieren. Ansonsten macht es wegen den persönlichen Bildern in meinen Augen keinen Sinn.
Ich verstehe Dein Anliegen. Wie du schreibst, eine 100%tige Sicherheit gibt es nicht. Doch um dem nahe zu kommen, muss man konsequent dann alles was ein Risiko sein könnte abschalten. Und eine Sicherheit die du anstrebst, um ein paar Bilder deiner Verwandtschaft zu zeigen, ist in meinen Augen, ein hoher Aufwand :-) Ich lasse mich gerne eines besseren belehren :-)

LG
Ingo


Offline Bommel

  • Full Member
  • ***
  • Posts: 114
    • View Profile
Re: Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick
« Reply #8 on: January 16, 2010, 04:18:08 PM »
Hallo rinaldos,

im Grunde genommen geht es mir ja auch nur um die verschlüsselte Übertragung persönlicher Daten der Benutzer. Aber ich versuche eben auch da ein Perfektionist zu sein, indem ich gleich eine komplette automatische Weiterleitung integrieren wollte. Abgesichert sein sollten aber nach meinen Wünschen auf alle Fälle die Bereiche Anmeldung, Registrierung, persönliches Kontrollzentrum und die Kontaktformulare.

Diese Modifikation hier - http://www.4homepages.de/forum/index.php?topic=8542.msg144436#msg144436 - funktioniert ja leider aus irgendeinem Grund nicht mehr. Wahrscheinlich mischt hier eine andere nachträglich eingebaute MOD mit.

Nun gut, dann werde ich wohl oder übel alle betreffenden Links im Template manuell setzen, damit die o.g. Seiten abgesichert sind. Trotzdem möchte ich mich bei euch für das Interesse und eure Meinung bedanken. :)

Freundliche Grüße, Bommel

PS: Mein heimisches Archiv hat derzeit rund 9000 private Fotos inne, von denen fast 10% in der Bildergalerie landen. ;)
Freundliche Grüße, Bommel

Nicht die Geduld mit mir verlieren, ich bin noch am Lernen./ Do not lose the patience with me, I am still in the learning. ;)

rinaldos

  • Guest
Re: Warnmeldung bei fehlendem SSL und Umschaltung per Mausklick
« Reply #9 on: January 16, 2010, 04:27:06 PM »
Du musst eben alle zusätzlichen MODS den vollen Link angeben.
Also nicht nur support.php oder ähnliches, sondern https:// deine Url / support.ph pusw.

Ich finde deinen Ehrgeiz schon OK, ich liebe auch den Perfektionismus, der nicht immer funktioniert. Bei mir landen auch immer mal wieder ein paar Bilder in der Galerie. Es sind aber weit mehr als 10%. Nur nach und nach schmeisse ich die alten Bilder immer wieder raus und es kommen neue dazu. Mein heimisches Archiv hat im Moment ca. 40.000 Bilder und es kommen immer mal wieder neue dazu. Das verwalten auf dem heimischen Rechner ist die grössere Aufgabe :-)

Mach auf jedenfall weiter so :-)

LG
Ingo

Offline Bommel

  • Full Member
  • ***
  • Posts: 114
    • View Profile
Automatische Weiterleitung mit PHP von HTTP nach HTTPS
« Reply #10 on: January 16, 2010, 04:36:46 PM »
...Mein heimisches Archiv hat im Moment ca. 40.000 Bilder und es kommen immer mal wieder neue dazu...
8O ... und ich war der Meinung, dass ich als Privatmensch schon sehr viele Bilder besitze.

Aufgeben war noch nie meine Stärke und das Do-it-yourself liegt mir irgendwie. Aber es gibt eben immer mal Situationen, wo man auf fremde Hilfe angewiesen ist und dann die Mühe nicht scheuen sollte. ;)

Freundliche Grüße, Bommel

Nachtrag:

Guten Morgen allerseits,

sooo...    

  • nach einer Kanne Kaffee,
  • einigen Zigaretten,
  • Beschallung mit Depeche Mode über Kopfhörer,
  • etwas für den kleinen Hunger zwischendurch
  • und immer kleiner werdenden Augen... gäääähn...

habe ich jetzt etwas gefunden, was interessant aussieht und vielversprechend erscheint.

Code: [Select]
function httpsRedirect() {
// Wenn es schon https ist, verlasse die Funktion
if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == '1' || strtolower($_SERVER['HTTPS'])=='on')) return;

// Url zusammenbauen
$url = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

// Wenn die URL Parameter hat, werden diese angehängt
if(!empty($_SERVER['QUERY_STRING'])) {
$url .= '?'.$_SERVER['QUERY_STRING'];
}
// Wenn noch keine Ausgabe erfolgt ist, leiten wir um
if(!headers_sent()) header('Location: '.$url);

}

httpsRedirect();

Eingesetzt werden kann der Code am Anfang der relevanten Datei. Ich habe dies vorerst nur mit der index.php ausprobiert und es funktioniert sauber. Gefunden habe ich diesen Code auf dieser Webseite: http://mrfoo.de/archiv/50-Automatische-Weiterleitung-mit-PHP-von-HTTP-nach-HTTPS.html

Nun meine Frage an die PHP-Experten. Kann dieser Code bedenkenlos in 4Images auf jeder Seite integriert werden?

Freundliche Grüße, Bommel
« Last Edit: January 17, 2010, 05:43:42 PM by Bommel »
Freundliche Grüße, Bommel

Nicht die Geduld mit mir verlieren, ich bin noch am Lernen./ Do not lose the patience with me, I am still in the learning. ;)

Offline Bommel

  • Full Member
  • ***
  • Posts: 114
    • View Profile
Re: Automatische Weiterleitung mit PHP von HTTP nach HTTPS
« Reply #11 on: January 17, 2010, 06:02:51 PM »
Hallo allerseits,

ich habe jetzt den Code in verschiedener Weise getestet und er läuft gut. 

  • Bei selbsterstellten HTML-Seiten die über die index.php mittels "index.php?template=dein_template" aufgerufen werden reicht der Eintrag in der index.php
  • Bei Seiten die über {dein_seite} aufgerufen werden, muss der Code in die "deine_seite.php" eingetragen werden.
  • Das gleiche gilt auch für Seiten die über "./deine_seite.php" aufgerufen werden.

Jetzt möchte ich nur noch einen letzten Schritt verwirklicht sehen. Undzwar soll dieser Code:

Code: [Select]
if($_SERVER["SERVER_PORT"] == 80) {
echo '<font color=#FF0000><b>Die Verbindung zu dieser Webseite ist momentan nicht verschl&#252;sselt und daher unsicher. Bitte aktivieren sie das sichere SSL-Protokoll.</b></font><br><br>';
echo '<a href="https://www.meine-domain.de/"><center>SSL-Protokoll aktivieren</center></a><br>';
} else if ($_SERVER["SERVER_PORT"] == 443) {
echo "<center><img src={template_url}/images/rapidssl_ssl_certificate.gif><br></center>";
}

so umgeschrieben werden, dass er nach dem Klick auf dem SSL-Link direkt zu der Seite zurückführt, wo dieser SSL-Link betätigt wurde. Ich weiß, ist bestimmt nicht wirklich notwendig. Aber - ich möchte es gern so haben. Auch deshalb, weil ich bei PHP noch am Lernen bin. Kann mir bitte einer hier einen Ansatz vorlegen?

Freundliche Grüße, Bommel
Freundliche Grüße, Bommel

Nicht die Geduld mit mir verlieren, ich bin noch am Lernen./ Do not lose the patience with me, I am still in the learning. ;)