Problem mit SSL Strato

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem mit SSL Strato

    Moin Leute,

    habe heute die Zugangsdaten zu meinem Webserver erhalten, ein Powerplus von Strato.

    Folgendes Problem:

    Ich habe eine Hauptseite, die für den Rest der Welt bestimmt ist und eine kleinere Seite (die über eine subdomain erreichbar ist), für die Mitarbeiter um die Datenbank zu pflegen.

    So das "CMS" ist natürlich mit einem Loginbereich ausgestattet.

    Index -> validate -> Interner Bereich

    Die index ist folgendermaßen aufgebaut:
    Keine große Sache, bisschen bla bla und auf der linken Seite ein Formular für UN und PW.
    Die Session wird schon auf der index gestartet. Denn ich generiere hier einen zufälligen Token, der 1. in der Session gespeichert wird und 2. über ein hidden feld im Formular mitgegeben wird. (CSRF und so :) ).
    Man gibt sein UN und das PW ein und wird an die validatelogin weitergeleitet

    Die Validate ist folgendermaßen aufgebaut:
    Zuerstmal wird die Session gestartet. Danach wird loggedIn auf 'false' gesetzt. ein paar überprüfungen (alle felder gesetzt?, $_SESSION['token'] == $_POST['token'] etc). Ist alles cool werden die Daten in
    der DB abgefragt. Ist auch hier alles cool, wird LoggedIn auf =true gesetzt und eine weiterleitung über header( location: bla ) erfolgt.

    Die internen bereiche sind folgendermaßen aufgebaut:
    Überall wird die checklogin includet. Die checkt ob loggedin auf true steht, inaktivitätsprüfung des Users sowie bisschen was gegen Sessionhacks und so


    So ich wollte das ganze nun endgültig absichern indem ich ssl einsetzen will (ermöglicht Strato ja).
    Folgendermaßen soll (laut strato) die SSL verbindung zustande kommen. Die links in folgende form abändern: ssl-id.de/meineseite.de/bla.php

    Ich änder also in der validatelogin den header pfad auf ssl-id.de/meineseite.de/internerbereich.php

    Da kommen wir auch schon zu meinem Problem.

    Beim ersten eingeben des usernames greift das login scheinbar, ssl startet, aber es öffnet sich nicht der interne bereich sondern nocheinmal die index.php! also muss ich auf der schon ssl geschützten index.php noch einmal UN und PW eingeben und erst dann komme ich in den internen Bereich.

    SLL funzt zwar, ich will aber niemand zumuten seine Daten zwei mal eingeben zu müssen!

    die session sollte eigentlich mit cookies arbeiten. Ich habe ini_set session.use_only_cookies auf 1 stehen. Dennoch wird nirgends auf meinem Rechner ein cookie der seite hinterlegt, noch dazu komme ich mit deaktivierten cookies trotzdem in den Internen bereich.

    Also nochmal zusammengefasst.

    1. ich öffne sub.verwaltung.de -> die index öffnet sich, ich gebe UN und PW ein, das script arbeitet
    2. es linkt mich an ssl-id.de/verwaltung.de/index.hp -> also nochmal die index nur mit ssl
    3. ich gebe genervt nochmal UN und PW ein und siehe da, der login geht.

    Woran könnte es liegen, das zuerst nochmal die index aufgerufen wird?


    ANMERKUNG:
    Im internen bereich include ich ja die checklogin. Diese prüft $_SESSION['loggedin'] = true ?!... Wird beim erfolgreichen login ja auf true gesetzt. Nehme ich diese abfrage raus, funzt das login beim ersten mal! ohne nochmal per ssl an die index verlinkt zu werden.

    Ich denke also, es gibt da irgend ein problem, ka mir was.. cookies oder so...

    HILFE!
    ----[Blockierte Grafik: http://www.smilie-harvester.de/smilies/Alltag/putzen.gif] Nein ich bin nicht die Signatur, ich Putz hier nur ---
  • Wenn du bei der aktuellen SSL Lösungen bleiben willst, musst du dich für eine Domain entscheiden.
    Cookies gehören immer zu einer Domain. Also entweder *.ssl-id.de oder *.verwaltung.de - auf die Cookies der anderen Domain hast du (verständlicherweise) keinen Zugriff.

    Willst du das dennoch auf diese Art nutzen, bleibt dir nur übrig deine eigenen Sessions zu hijacken ;)
    Formularziel ist also die stratoseite.. sessionhandler muss eine datenbank sein.
    Dann redirectest du mit der session id als GET Parameter wieder an deine hauptdomain weiter.
    Da die selbe Datenbank genutzt wird, sollte das funktionieren.

    Alternative3: Geld ausgeben ;) Die sind auch gar nicht mehr so teuer.. z.B. bei hosteurope für 60 EUR für 2 Jahre.
  • Moin moin,

    also das formularziel ist noch auf meiner seite action="scripte/validatelogin.inc.php". Und erst die validate, macht nach nem erfolgreichen Login per header( 'Location: ssl-id.de/meine-seite.de/intern.php' ); die verbindung zum internen bereich.

    beim ersten seitenaufruf, wird das cookie z.b user@meine-domain.de/ gesetzt. Nach dem "erfolglosen" login und der weiterleitung auf ssl-id.de/meine-seite.de wird das cookie dann für user@ssl-id.de/ gesetzt

    1. kann ich irgendwie erreichen, das die seite automatisch mit ssl-id.de/meineseite aufgerufen wird, auch wenn der user meine-seite.de eingibt?

    2. falls nein, habe ich versucht auf der index, eine file zu includen die verschiedene einstellungen in der ini vornimmt unter anderem session.use.only.cookies... und

    ini_set('session.cookie.domain', '.ssl-id.de/');

    das frisst er aber nicht. also ich meine wenn ich gleich beim seitenaufruf von meine-seite.de das cookie nicht für meine-seite.de setze sondern eben für ssl-id müsste das doch gehen, oder?

    grüße
    Timo
    ----[Blockierte Grafik: http://www.smilie-harvester.de/smilies/Alltag/putzen.gif] Nein ich bin nicht die Signatur, ich Putz hier nur ---
  • nein, also Cookies für fremde Domains kannst du mit Sicherheit nicht schreiben.

    Wenn deine ssl Domain deine Standardomain werden soll, dann kannst du alles dorthin weiterleiten.

    Dazu folgende .htaccess in deinem Wunschverzeichnis anlegen:

    Quellcode

    1. RewriteEngine On
    2. RewriteCond %{HTTP_HOST} !^www\.ssl-id\.de$
    3. RewriteRule ^(.*)$ https://www.ssl-id.de/$1 [L,R=301]