forTeesSake Geschrieben 13. Dezember 2005 Geschrieben 13. Dezember 2005 hi und hallo, wir wollen eine mitgliedsverwaltung einrichten, die nur über https erreichbar ist. im moment ist unsere strutur so angelegt, dass wir eine index.php haben und über parameter (wie ids oder template namen) den inhalt unserer seiten steuern. nun soll es so sein, dass wenn es sich um seiten der mitgliedsverwaltung handelt, diese nur über https erreichbar sind. Drei fragen dazu: 1. wie stelle ich sicher dass genau diese seiten nur über https erreichbar sind? 2. ist das eine apache einstellung? 3. oder wenn nicht, löse ich das über php. meine idee dazu: - wenn seite als "nur https" geflaggt - überprüfe broser url - wenn nur http:// darin vorkommt - redirect auf selbe adresse nur mit vorangestelltem https:// aber diese lösung hört sich für mich ein bisschen komisch an. weiss da jemand was? wäre sehr glücklich vielen dank schonmal Zitieren
Amstelchen Geschrieben 13. Dezember 2005 Geschrieben 13. Dezember 2005 1. wie stelle ich sicher dass genau diese seiten nur über https erreichbar sind? sowieso immer serverseitig; eben entweder über php oder apache-conf. 2. ist das eine apache einstellung? # übergang auf https erzwingen SSLRequireSSL SSLOptions +StrictRequire ErrorDocument 403 /mein/fehlerdokument/oder/script.php oder RewriteEngine On RewriteCond %{SERVER_PROTOCOL} !^https$ RewriteRule /* https://subdomain.domain.tld%{REQUEST_URI} [R=permanent,L] 3. oder wenn nicht, löse ich das über php. meine idee dazu: - wenn seite als "nur https" geflaggt - überprüfe broser url - wenn nur http:// darin vorkommt - redirect auf selbe adresse nur mit vorangestelltem https:// aber diese lösung hört sich für mich ein bisschen komisch an. nö, finde ich nicht, verwende halt sowas in der art: function secure_page() { if ( !isset($_SERVER['HTTPS']) || strtolower($_SERVER['HTTPS']) != 'on' ) { header ('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); exit(); } } s'Amstel Zitieren
geloescht_JesterDay Geschrieben 13. Dezember 2005 Geschrieben 13. Dezember 2005 wir wollen eine mitgliedsverwaltung einrichten, die nur über https erreichbar ist. im moment ist unsere strutur so angelegt, dass wir eine index.php haben und über parameter (wie ids oder template namen) den inhalt unserer seiten steuern. Also erstmal ist ein https-Server (SSL) für den Apache ein eigenständiger Server/vHost. Wenn du also einen Teil der Seite als https-Teil und einen Teil ohne Verschlüsselung hast, musst du das entweder über 2 Verzeichnisse machen, oder du stellst im Apache den vHost für SSL so ein, dass er aufs gleiche Verzeichnis geht, wie der Standard-Server. Am einfachsten ist es also, wenn du die Seite komplett über https laufen lässt. Is aber nicht unbedingt immer gewünscht... wie es aussieht habt ihr so eine Art CMS (index.php mit Parametern), das macht die Sache u.U etwas komplizierter. Wenn ihr vollen Zugriff auf den Apache habt, legst du den SSL-Server einfach so an, dass das DocumentRoot auf dasselbe Verzeichnis weisst wie der Standard-Server. Dann musst du nur den Link anpassen (https:// statt http://) und alles is erledigt. Falls das nicht geht, wie bei uns, weil wir vom Anbieter (Root-Server) Plesk zur Verwaltung haben und da eine Starre Struktur hinterlegt ist (SSL-Server = neues Verzeichnis) und auch manuelle Änderungen im Zweifel von Plesk überschrieben werden, bleibt dir nur die Möglichkeit, die beiden Verzeichnisse immer auf den gleichen Stand zu halten. Wir machen das über Cron und rsync, geht aber auch manuell (da musst du halt aber mehr aufpassen). Dateien, die absolute Pfade beinhalten musst du von der Synchronisierung ausschliessen. Wenn die Links dynamisch aufgebaut werden, musst du dafür sorgen, dass der Link entsprechend angepasst wird. Ob du gerade auf dem SSL-Server bist, mekrst du über den Port, auf dem angefragt wurde $_SERVER["SERVER_PORT"] if ($_SERVER["SERVER_PORT"]!=$https_port) $protocol = "http://"; else $protocol = "https://"; $url_new = $protocol.$_SERVER["HTTP_HOST"]."/".$url; [/php] So hab ich das gemacht (auszugsweise). EDIT: Evtl. musst du halt auf den entspr. Seiten noch prüfen, ob sie in der SSL-Umgebung angezeigt werden (geht auch über den Port). Ein reiner SSL-Server (http://index.php leitet nur auf https:// um) ist alles in allem viel einfacher zu handhaben Zitieren
forTeesSake Geschrieben 13. Dezember 2005 Autor Geschrieben 13. Dezember 2005 supergoil vielen vielen dank. damit kann ich nun an meinen systemadministrator rantreten^^ danke Zitieren
kills Geschrieben 14. Dezember 2005 Geschrieben 14. Dezember 2005 Hi forTeesSake, ein Tipp noch: Wenn du die Seite vollständig via SSL verschlüsselst, wird diese in keiner Suchmaschine indiziert! Gruß, Markus Zitieren
geloescht_JesterDay Geschrieben 15. Dezember 2005 Geschrieben 15. Dezember 2005 Wenn du die Seite vollständig via SSL verschlüsselst, wird diese in keiner Suchmaschine indiziert! Nicht? Das wusst ich jetzt nicht. Zitieren
kills Geschrieben 15. Dezember 2005 Geschrieben 15. Dezember 2005 siehe http://www.contentmanager.de/magazin/news_h2071_google-sicherheitsverstoss_-_indizierung_von.html Zitieren
forTeesSake Geschrieben 17. Februar 2006 Autor Geschrieben 17. Februar 2006 hi und hallo. ich muss leider nochmal nachhaken. habe mir ja jetzt einiges zum thema https durchgelesen und soweit verstanden. aber ich habe trotzdem ein verständnisproblem. nehmen wir mal an ich habe eine seite index.php in dieser befindet sich ein login formular. das formular postet die daten wieder auf die index.php seite wo die daten dann auch überprüft werden. werden die daten nur sicher übertragen wenn ich die index.php schon so aufrufe: https://index.php oder reicht es die seite "normal" über http://index.php auzurufen, und dann die form action auf httpS://index.php zu setzen? Zitieren
etreu Geschrieben 17. Februar 2006 Geschrieben 17. Februar 2006 oder reicht es die seite "normal" über http://index.php auzurufen, und dann die form action auf httpS://index.php zu setzen? Ja das reicht. Es wird erst eine Verbindung zum Ziel aufgebaut und danach werden die Datenübermittelt. Zitieren
forTeesSake Geschrieben 17. Februar 2006 Autor Geschrieben 17. Februar 2006 jaaaaaaaaaa. freu freu. das ist echt super. vielen dank!!! Zitieren
perdian Geschrieben 18. Februar 2006 Geschrieben 18. Februar 2006 Wenn du die Seite vollständig via SSL verschlüsselst, wird diese in keiner Suchmaschine indiziert!Wo hast du denn den Blödsinn her? http://www.google.com/search?hl=de&q=dpinfo oder http://www.google.com/search?hl=de&q=ccc+https beweisen das Gegenteil Zitieren
kills Geschrieben 18. Februar 2006 Geschrieben 18. Februar 2006 Hi Perdi, Wo hast du denn den Blödsinn her? http://www.google.com/search?hl=de&q=dpinfo oder http://www.google.com/search?hl=de&q=ccc+https beweisen das Gegenteil schön, dass du mir gleich das Beispiel für meine Aussage lieferst. Wie du siehst, wird nur die index Datei der Domain indiziert. Alle Links von dieser Seite sind nicht im Google Index (https://www.ccc.de/) Zitieren
perdian Geschrieben 18. Februar 2006 Geschrieben 18. Februar 2006 Alle Links von dieser Seite sind nicht im Google IndexDie Menge der (durchaus brauchbaren) Suchmaschinen beinhaltet nicht nur Google. Zitieren
kills Geschrieben 18. Februar 2006 Geschrieben 18. Februar 2006 Die Menge der (durchaus brauchbaren) Suchmaschinen beinhaltet nicht nur Google. .... :schlaf: Google ist die wohl meist genutzte... Ausserdem... yahoo auch nicht... http://de.search.yahoo.com/search?p=ccc+https&prssweb=Suche&ei=UTF-8&fr=fp-tab-web-t-1&x=wrt&meta=vl%3D fireball ebenso nicht http://suche.fireball.de/cgi-bin/pursuit?query=ccc+https&x=0&y=0&cat=fb_loc&enc=utf-8 Zitieren
Jaraz Geschrieben 8. März 2006 Geschrieben 8. März 2006 Moin, Ja das reicht. Es wird erst eine Verbindung zum Ziel aufgebaut und danach werden die Datenübermittelt. hast du dazu eine Quelle die das belegt? Gruß Jaraz Zitieren
etreu Geschrieben 8. März 2006 Geschrieben 8. März 2006 Eine Quelle direkt liegt mir nicht vor. Aber HTTP läuft doch über TCP. Daraus folgt, bevor Daten übertragen werden (also via HTTP) muss die Verbindung zum Server aufgebaut werden (also zum SSL-Port). Erst wenn die Verbindung aufgebaut wurde, können dann Daten (HTTP-Request) geschickt bzw. angefordert werden. Zitieren
Jaraz Geschrieben 8. März 2006 Geschrieben 8. März 2006 Eine Quelle direkt liegt mir nicht vor. Aber HTTP läuft doch über TCP. Daraus folgt, bevor Daten übertragen werden (also via HTTP) muss die Verbindung zum Server aufgebaut werden (also zum SSL-Port). Erst wenn die Verbindung aufgebaut wurde, können dann Daten (HTTP-Request) geschickt bzw. angefordert werden. Ja, das sehe ich auch so, nur habe ich hier eine E-Mail, wo ein Kunde das nicht nachvollziehen oder glauben will. Deswegen dachte ich irgendwo was schriftliches wäre nicht schlecht. Gruß Jaraz Zitieren
geloescht_JesterDay Geschrieben 8. März 2006 Geschrieben 8. März 2006 Aber HTTP läuft doch über TCP. Daraus folgt, bevor Daten übertragen werden (also via HTTP) muss die Verbindung zum Server aufgebaut werden (also zum SSL-Port). Erst wenn die Verbindung aufgebaut wurde, können dann Daten (HTTP-Request) geschickt bzw. angefordert werden. Du vermischts da etwas... HTTP ist nur ein Protokoll, also nur eine Art, wie die Daten selbst angeordnet sind. Der HTTP-Client und der HTTP-Server kennen beide das Muster zum Anordnen der Daten und sommit können die Daten überhaupt erst sinnvoll übertragen werden. Die Daten, ein Text z.B., werden vom Server als HTTP-Verpackt und dann per TCP verschickt (wozu sie nochmal "verpackt" werden). HTTPS ist genau dasselbe, nur dass dazu die Daten noch verschlüsselt werden. Der Schlüssel wird beim Verbindungsaufbau zwischen Clienht und Server ausgehandelt. Der Verbindungsaufbau, den du ansprichst, kommt ja von TCP. HTTP selbst ist "stateless", also kennt keinen Zustand und kann sich somit auch keinen merken. Eine Verbindung ist nur zum ÜBertragen von Daten da. Wenn die Daten Übertragen sind (HTTP-Request + HTTP-Response) ist die Verbindung beendet. Für eine neue Anfrage muss eine neue Verbindung aufgebaut werden, und weder Server noch Client "wissen" dass sie gerade schon miteinander zu tun hatten. Eine HTTPS-Anfrage geht nicht zuerst über HTTP-Verbindung, sondern ist eine ganz eigenständige Verbindung. Das Beispiel oben (Seite per http und Form-Action per https) bewirkt nur, dass die Übertragung der Seite (vom Server zum Client) unverschlüsselt abläuft und erst die "Antwort", also die im Formular eingegebenen Daten (vom Client zum Server und entsprechend wieder die Antort vom Server), dann per https (verschlüsselt) übertragen werden. Es sind aber 2 eigenständige Verbindungen die miteinander nichts zu tun haben. Zitieren
etreu Geschrieben 8. März 2006 Geschrieben 8. März 2006 Ich habe doch nichts anderes gesagt. Ich wollte das Ganze nur nicht so ausschweifend formulieren. @Jaraz Link 1 (RFC zu HTTP over TLS): http://www.ietf.org/rfc/rfc2818.txt Hier besonders Punkt 2. Link 2 (Seite ist vom BSI): http://www.ohne-aktive-inhalte.de/funktionsablauf/fa1/index.html Ich würde sagen, dass es offizieller kaum geht, oder? Zitieren
Jaraz Geschrieben 8. März 2006 Geschrieben 8. März 2006 Jau danke! Das wird er zwar wahrscheinlich nicht verstehen, aber er hat mittlerweile auch von anderer Seite ein OK bekommen das das sicher ist. Wieso glaubt mir nur niemand. Gruß Jaraz Zitieren
geloescht_JesterDay Geschrieben 13. März 2006 Geschrieben 13. März 2006 Wenn du die Seite vollständig via SSL verschlüsselst, wird diese in keiner Suchmaschine indiziert! Das stimmt soweit wohl, aber: In der Auswertung der SSL-Logs unserer Seite taucht eine suchmachine trotzdem auf, und zwar der Googlebot mit 68 Zugriffen und 7 Zugriffen auf dir robots.txt. Diese auswertung ist noch recht neu (kopier mir die Access-logs lokal jeden Tag und lass sie von awstats auswerten), weiß also nicht, wie das über den ganzen Monat verteilt aussieht. Auf den "freien" Seiten (auf SSL kommt man beim Login, die Seiten sind aber sonst dieselben, nur mehr) hat der Googlebot in der Zeit 212mal zugegriffen (+15 robots.txt) und ausserdem noch einige andere. Also ich weiss nicht genau, was google da auswertet und wie, aber scheinbar hindert https den Googlebot nicht komplett am indizieren. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.