Ankündigung

Einklappen
Keine Ankündigung bisher.

Professioneller Login?

Einklappen

Neue Werbung 2019

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

  • #61
    Meinst du, dass das hier nicht geht? ^^

    PHP-Code:
    <?php
         session_start
    ();

    $_SESSION['username'] = $_POST['username'];
    ?>
    Glaub nicht dass du das meinst, weil es geht ;D
    MfG
    ~Capfly

    Kommentar


    • #62
      Zitat von Capfly Beitrag anzeigen
      Meinst du, dass das hier nicht geht? ^^
      Doch - aber was es bringen soll, das ist fraglich.
      [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

      Kommentar


      • #63
        -> Variablen username und password als Sessionwert speichern
        Nochmal: Passwörter niemals in der Session speichern!! Damit verbietet sich auch Dein Dauerlogin, was nebenbei gesagt, sowieso Quatsch ist. Wenn mir jemand das Schlüsselbund klaut, dann kann ich noch so viele Türen mit demselben Schloss um meine Wertsachen bauen. Er hat den Schlüssel.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #64
          Die Sitzungnummer NUR in Cookies zuübertragen ist in meinen Augen auch kein Gewinn an Sicherheit, weil das "Entführen" nicht erschwert wird sondern eher das versehentliche Session Hijacking vermieden wird.
          Das ist doch ein Gewinn an Sicherheit wenn man die Sessionid nicht versehentlich weitergeben kann.
          Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

          Kommentar


          • #65
            Woher soll ich dann wissen, wer der eingeloggte ist?
            Das mache ich dann mit dem entsprechenden DB-Eintrag?
            MfG
            ~Capfly

            Kommentar


            • #66
              Zitat von Capfly Beitrag anzeigen
              Woher soll ich dann wissen, wer der eingeloggte ist?
              Das mache ich dann mit dem entsprechenden DB-Eintrag?
              in dem du bei jeder aktion prüfst welche benutzer eingeloggt ist

              PHP-Code:
              function isLogedIn(){
              $sql mysql_query("SELECT ID FROM users WHERE session_id = ".session_id());
              $row mysql_fetch_object($sql);
              if(empty(
              $row->id)){
              return 
              false;
              }else{
              $_SESSION['userID'] = $row->id;
              return 
              true;
              }

              somit setzt du die useID in der session immer neu und kannst prüfen anhand der session_id welcher benutzer eingeloggt ist. alternativ baust du da eine if abfrage ein um zu gucken if(isset($_COOKIE['loginID'])) dann sql query WHERE login_id = $_COOKIE['loginID'] //natürlich auch noch escapen usw..
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

              Kommentar


              • #67
                Also würde ich das dann so machen:

                PHP-Code:
                <?php
                      session_start
                ();

                $checkdata mysql_query("SELECT * FROM `Session` WHERE `Username` = '".$_SESSION['username']."' AND `SessionID` = '".session_id()."';");

                $oldid session_id();

                 if(
                mysql_num_rows($checkdata) != 1) { header('Location: logout.php?error=2'); } session_regenerate_id();

                 
                mysql_query("UPDATE `Session` SET `SessionID` = '".session_id()."' WHERE `Username` = '".$_SESSION['username']."' AND `SessionID` = '".$oldid."';");
                ?>
                MfG
                ~Capfly

                Kommentar


                • #68
                  wozu das ganze? session_id() ist auf dem server eingestellt also wie lange die am leben ist, wenn der benutzer zb 15 minuten nichts auf der homepage macht, dann kriegste von der funktion ein false und müsstest ein login formular dem user anzeigen. nach der sich angemeldet hat, kannst du dann die session_id neu eintragen.
                  apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                  Kommentar


                  • #69
                    Ich habe mir heute erst das Thema von vorne bis hinten durchgelesen und muss zum schluss kommen dass die meisten Beiträge müll bzw. verwirend sind. Ich Persönlich verwende folgendes Logik (kurzfassung):

                    PHP-Code:
                    session_start();

                    // Prüfe Login-POST daten, wenn zugang berechtigt dann 
                    if($zugang_berechigt === true) {
                        
                    $_SESSION['user_id'] = $user_id// user id aus DB
                        
                    $timestamp time();
                        
                    setcookie('last_action'$timestamp, ($timestamp 60 15));
                        
                    $_SESSION['last_action'] = $timestamp;
                        unset(
                    $timestamp);
                    }

                    if(isset(
                    $_SESSION['user_id'])) {
                        
                    // user hat schonmal korrekte zugangsdaten eingegeben
                        
                    if($_SESSION['last_action'] == $_COOKIE['last_action']) {
                            
                    // Der Browser der die seite angefordert war auch der der zuletzt daten angefordert hatte
                            
                    $timestamp time();
                            
                    setcookie('last_action'$timestamp, ($timestamp 60 15));
                            
                    $_SESSION['last_action'] = $timestamp;
                        } else {
                            unset(
                    $_SESSION['user_id']);
                            
                    session_regenerate_id();
                            
                    // zeige Login
                        
                    }
                    } else {
                        
                    // zeige Login

                    Kurz zusammengefasst:

                    Ich prüfe die Logindaten und schreibe ggf. in der session die id des users um ihn identifizieren zu können. Die zweite abfrage dient dem session hijacking somit kann ich prüfen ob der client auch der ist der sich eingeloggt hat. Ist dies nicht der fall werden alle beweise vernichtet und ein erneuter login ist erforderlich.

                    Über kritik würde ich mich natürlich freuen, da alles nur theoretisch ist. Praktisch habe ich noch keine session-entführung getestet. Positiv ist aber schonmal dass ich damit noch keine probleme hatte.

                    Kommentar


                    • #70
                      so wie ich das sehe, würde ich immer ein login fenster kriegen wenn cih Cookies deaktiviere?
                      apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                      Kommentar


                      • #71
                        Zitat von BlackScorp Beitrag anzeigen
                        so wie ich das sehe, würde ich immer ein login fenster kriegen wenn cih Cookies deaktiviere?
                        Ja, allerdings hatte ich bisher keine Probleme wie gesagt. Ausserdem währe eine abfrage ob cookie aktiviert oder nicht ja nicht unbedingt das problem. Und zweitens, wie willst du ein Login programmieren ohne cookies?

                        Kommentar


                        • #72
                          nur die session_id() variable verwenden.

                          login:
                          wenn benutzername und verschlüsseltes passwort in kombination in der tabelle exestieren, dann trage in die spalte die session_id() ein.

                          isLogedIn:
                          hole mir die ID aus der tabelle mit der session_id(), wenn keine ID vorhanden ist, dann ist der user nicht angemeldet , zeige loginfenster, sonst user interface

                          logout:
                          session_destroy();

                          das wars...

                          $_COOKIES verwende ich nur wenn ich sage, passwort speichern. dann übergebe ich die session_id() an das cookie und trage das cookie in die datenbank ein. und beim is loged in prüfe ich ob cookie gesetzt ist, wenn ja dann hole mir id aus der tabelle wo session_id = $_COOKIE['session'].

                          d.h dann im grunde dass man sein passwort mit deaktivierten cookies nicht aufm pc speichern kann. oder besser gesagt seine session die dann immer exestiert.
                          apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                          Kommentar


                          • #73
                            Das ignoriert, wie so oft, dass Sessions auch andere Aufgaben in einer Applikation übernehmen, als nur User-Auth.
                            [COLOR="#F5F5FF"]--[/COLOR]
                            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                            [COLOR="#F5F5FF"]
                            --[/COLOR]

                            Kommentar


                            • #74
                              Zitat von nikosch Beitrag anzeigen
                              Das ignoriert, wie so oft, dass Sessions auch andere Aufgaben in einer Applikation übernehmen, als nur User-Auth.
                              ja aber aktuell ist ja die frage wie man die session in einer User-Auth. benutzen kann.
                              apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                              Kommentar


                              • #75
                                ja aber aktuell ist ja die frage wie man die session in einer User-Auth. benutzen kann.
                                Richtig, in, nicht als.

                                Dein Prinzip müsste so abgeändert werden:

                                Beim login: session_regenrate_id benutzen
                                Beim logout: session_regenrate_id benutzen, ID aus der Tabelle entfernen, nicht (!) session_destroy.
                                [COLOR="#F5F5FF"]--[/COLOR]
                                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                                [COLOR="#F5F5FF"]
                                --[/COLOR]

                                Kommentar

                                Lädt...
                                X