login script !!

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

  • login script !!

    Hi..

    ich bins wieder mal, mit ein ganz einfachen code. Trozdem funktioniert es nicht.

    PHP-Code:
    <html>
    <head>
    <?php

    error_reporting
    (E_ALL); 

        
    $db mysql_connect("127.0.0.1");
             
    $res mysql_db_query("login""select * from user");
             
    $num mysql_num_rows($res);



                     for (
    $i=0$i<$num$i++)
    {
                 
    $nn mysql_result($res$i"name");
                     
    $pn mysql_result($res$i"password");

             if (
    $name == $nn)
        {
        if (
    $pw == $pn)
                 {
                 echo 
    "<h1>Gratulation</h1>";
                 
    $i $num;
                 }
                else
                         {
                         if (
    $i == $num && $pw != $pn)
                         echo 
    "<h3>Benutzername oder Passwort wurde falsche oder unvollständig geschrieben</h3>";
                        {
                                             if(
    $i == $num && $name != $nn)
                                             echo 
    "<h3>Benutzername oder Passwort wurde falsche oder unvollständig geschrieben</h3>";
                                             }
                              }
              }
    }
    mysql_close($db);

    ?>
    </body>
    </html>
    Fehlermeldung:

    Bei falschen Benutzername oder Passwort eintrag, sendet es mir keine Antwort. Nur eine blank seite!!
    Es sollte die Meldung kommen:
    Benutzername oder Passwort wurde falsche oder unvollständig geschrieben.

    Vielen dank schon mal voraus

    Mfg. LoCo

  • #2
    Oh Gott, ich weiß jetzt nicht ganz genau warum das nicht funktioniert, aber hier ist was besser funktionieren sollte (und vor allem schneller sein sollte. Man sollte mysql_result() nicht benutzen, das ist lahm. Außerdem ist die Datenbankabfrage absolut sinnlos in ihrer jetzigen form).
    PHP-Code:
    mysql_connect('host')
    mysql_select_db("db");

    $res mysql_query(sprintf("SELECT * tabelle WHERE name = '%s' AND password = '%s' "mysql_real_escape_string($User), mysql_real_escape_string($Passwort)));//das hier ist wichtig

    if(mysql_num_rows($res) == 1)
    {
      echo 
    "Login erfolgreich";
    }
    else
    {
      echo 
    "Username oder passwort falsch";

    "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

    Kommentar


    • #3
      was ist das denn für eine verrückte abfrage? der user wird das ja wohl über ein eingabeformular machen, oder? also lautet der query dann so:
      PHP-Code:
      query 'SELECT * FROM user WHERE namen = '."'".$_POST['name']."'".' AND passwort = '."'".$_POST['passwort']."'" 
      wieso einfach wenn esauch kompliziertgeht ;-)

      benenne die spalten in der db nicht mit schlüsselwörtern wie name oder password, das kann zu problemen kommen.

      gruss
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Original geschrieben von Kropff
        was ist das denn für eine verrückte abfrage? der user wird das ja wohl über ein eingabeformular machen, oder? also lautet der query dann so:
        nein, bitte nicht.

        wieso einfach wenn esauch kompliziertgeht ;-)
        wieso sicher programmieren, wenn man - wie du - auch wunderbar sql injections provozieren kann.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          PHP-Code:
             '."'". 
          @kropf und was ist denn das hier für ein Konstrukt?
          mfg
          marc75

          <Platz für anderes>

          Kommentar


          • #6
            Original geschrieben von marc75
            PHP-Code:
               '."'". 
            @kropf und was ist denn das hier für ein Konstrukt?
            vielleicht weil er die Meinung vertritt, dass der Parser bei in " eingeschlossenem String zu lahm parst, oder das Escapen verlernt hat

            @kropf wie heißt denn deine Seite ...
            Zuletzt geändert von asp2php; 08.12.2004, 13:31.

            Kommentar


            • #7
              vielleicht weil er die Meinung vertritt, dass der Parser bei in " eingeschlossenem String zu lahm parst, oder das Escapen verlernt hat
              ach reine gewohnheit, höngt mit der darstellungsweise meines editors zusammen.
              wenn man - wie du - auch wunderbar sql injections provozieren kann
              ???

              gruss
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Original geschrieben von Kropff
                ???
                da möchte sich wohl mal jemand zu dem thema informieren *g*
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von Kropff

                  ???

                  gruss
                  peter
                  dann tippt mal folgendes ein:

                  username-feld: bla' or '1'='1
                  pw-feld: bbbbb

                  dann wirst du schon sehen.

                  Kommentar


                  • #10
                    dann wirst du schon sehen.
                    äh, schäm.

                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      sei doch froh, dass du nur mit mySQL zu tun hast, denn mySQL kann z.Z. mehrere Abfrage auf einen Rutsch nicht verarbeiten. Bei anderen DBMS kann man mit Trennzeichen das tun und wenn du nicht aufpasst, gibt man ein delete-Command ein, tja dann bye-bye database

                      Kommentar


                      • #12
                        Original geschrieben von asp2php
                        denn mySQL kann z.Z. mehrere Abfrage auf einen Rutsch nicht verarbeiten.
                        mysql kann schon, nur nicht bei übergabe durch PHP mittels mysql_query() (sicherheitsgedanke?).
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar

                        Lädt...
                        X