[PHP5] Wechsel ssl-Server

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [PHP5] Wechsel ssl-Server

    Hallo Gemeinde, bräuchte mal Eure wärte Hilfe.

    Ein 'sicheres' einloggen soll nur möglich sein, wenn auch ein gültiges Zertifikat vorhanden ist. Bei mir kommt eine Meldung bezüglich ungültigem Zertifikat, ein login findet trotzdem statt.


    PHP-Code:
        /* registrierter User möchte sich einloggen */
        
    function Login()
            {
            
    $logval $this->session->login($_POST['logname'], $_POST['logpass'], $this->lang, &$this->form);

            if (
    $logval == "TRUE") {
                    if((isset(
    $this->session->visitCashdesk))&&($this->session->visitCashdesk==TRUE))
                        
    $ref="cashDesk";

                    elseif(!empty(
    $this->session->shopping_cart))
                        
    $ref="shoppingCart";

                    elseif(
    $this->session->query_string=="login")
                        
    $ref="myAccount";

                    else
                        
    $ref=$this->session->query_string;


                    if (!empty(
    $_POST['ssl_login']))
                        
    header("Location: " $this->secure_page() . "?" $ref "");
                    else
                        
    header("Location: " $this->secure_page_off() . "?" $ref "");

               }
                else {
                
    $_SESSION['value'] = $_POST;
                
    $_SESSION['error'] = $this->form->getErrorMessages();

                
    header("Location: " $this->secure_page_off() . "?login");
            }
            }

        
    /* sicheren Server wählen */
        
    function secure_page()
            {
            if (!isset(
    $_SERVER['HTTPS']) || strtolower($_SERVER['HTTPS']) != 'on')
                return 
    $secure "https://" $this->session->request_uri "";
            }

        
    /* sicheren Server verlassen */
        
    function secure_page_off() { return $not_secure "http://" $this->session->request_uri ""; } 
    danke der Trallala
    Manchmal verliert ma eben ... und manchmal gewinnen die Anderen

  • #2
    du meinst, wenn der user dem ungültigen zertifikat trotzdem vertraut?

    Kommentar


    • #3
      ja genau!

      es müsste also geprüft werden, ob das Zertikat gültig ist.

      Keine Ahnung wie ich das machen soll
      Manchmal verliert ma eben ... und manchmal gewinnen die Anderen

      Kommentar


      • #4
        Das macht der Browser des Users und je nach dessen Einstellungen wird bei erfolgreicher Prüfung gar kein Dialog angezeigt, auf nicht-authentifizierbare Zertifikate weisen imho alle mit einem Dialog hin, in dem der User die Möglichkeit hat, das Zertifikat abzulehnen oder ihm zu vertrauen.

        Das ganze ist überhaupt kein PHP-Problem, denn für deine Scripte ist die SSL-Verschlüsselung und der damit einhergehende Zertifikataustausch völlig transparent. Mit PHP kannst du nur feststellen, ob verschlüsselt wird ... isset($_SERVER['HTTPS']).

        Kommentar


        • #5
          Ja, dass Problem ist folgendes. System läuft zu Testzwecken auf einem Server ohne das entspr. gültige ssl-Zertifikat.

          Logt sich jetzt jemand über den ssl-Zugang ein (option beim Login) kommt der Sichheitshinweis (ungültiges Z). Wenn ich jetzt trotzdem akkzeptiere lande ich auf einer fehlerseite!

          Soweit so gut: wenn ich aber jetzt über den Browser zurück gehe, dann bin ich eingelogged (http://) : Das wäre schön, wenn ich dass verhindern könnte!

          derTrallala
          Manchmal verliert ma eben ... und manchmal gewinnen die Anderen

          Kommentar


          • #6
            Original geschrieben von Timo Trallala
            Wenn ich jetzt trotzdem akkzeptiere lande ich auf einer fehlerseite!
            Das hat nicht direkt etwas mit dem Zertifikat zu tun. Das wurde schließlich übertragen und vom User akzeptiert. Der Browser nutzt es von nun an zur Verschlüsselung.
            Der Fehler könnte von einer mißglückten Konfiguration des Webservers herrühren. Er kann oder will evtl. den verschlüsselten Request nicht entschlüsseln. Ein Blick ins (SSL-)Errorlog könnte helfen.
            Oder du erzeugst den Fehler in deinem Script oder mit einer Weiterleitung aus dem sicheren Bereich heraus ... vielleicht sollte ich langsam doch mal deinen Code anschauen ...
            Zuletzt geändert von onemorenerd; 29.08.2006, 13:11.

            Kommentar

            Lädt...
            X