PHP+MySQL - lámer vagyok...
2003-09-29T13:08:44+02:00
2003-11-06T07:30:13+01:00
2022-07-27T16:22:44+02:00
  • Van egy egyszerü kis beléptetőm, ami igy néz ki.

    belepteto.php
    ------------
    <?
    if(isset($_POST['azon'])){
    $file = "user.txt";
    $azonosito = false;
    $jelszo = false;

    //-----------------------------------------
    // ADATOK BESZERZÉSE A MEGADOTT FORRÁSFÁJLBÓL!!!!!!!
    $fp = fopen($file, "r");
    while(!feof($fp)){
    $sor = fgets($fp, 1024);
    $sor = explode("\\\\\\\\t", $sor);
    if(strstr($sor[0], $azon)){
    $azonosito = true;
    }
    else if(strstr($sor[1], $pass)){
    $jelszo = true;
    }
    if($azonosito && $jelszo){
    $belepve = "Sikeres belépés!!!!";
    }
    }
    fclose($fp);
    //-----------------------------------------
    }
    ?>
    <html>
    <head>
    <title>Beleptető oldal</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <form name="form1" method="post" action="">
    <table width="300" border="0" cellspacing="2" cellpadding="2">
    <tr>
    <td>Azonos&iacute;t&oacute;:</td>
    <td><input name="azon" type="text" id="azon"></td>
    </tr>
    <tr>
    <td>Jelsz&oacute;</td>
    <td><input name="pass" type="text" id="pass"></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="Submit" value="Bel&eacute;p"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>


    /ez az user txt /

    user1 pass1
    user2 pass2
    user3 pass3

    Nem értem mért nem müködik, ha valaki tudja segitsen !
    Mutasd a teljes hozzászólást!
  • Ja, es ezt akartam kiemelni

    The PASSWORD() function is used by the authentication system in MySQL Server, you should NOT use it in your own applications. For that purpose, use MD5() or SHA1() instead.
    Mutasd a teljes hozzászólást!
  • Tevedtem, de van... ez a resz vag ide:

    PASSWORD(str) OLD_PASSWORD(str) Calculates a password string from the plaintext password str. This is the function that is used for encrypting MySQL passwords for storage in the Password column of the user grant table: mysql> SELECT PASSWORD('badpwd'); -> '7f84554057dd964b' PASSWORD() encryption is non-reversible. PASSWORD() does not perform password encryption in the same way that Unix passwords are encrypted. See ENCRYPT(). Note: The PASSWORD() function is used by the authentication system in MySQL Server, you should NOT use it in your own applications. For that purpose, use MD5() or SHA1() instead. Also see RFC-2195 for more information about handling passwords and authentication securely in your application. ENCRYPT(str[,salt]) Encrypt str using the Unix crypt() system call. The salt argument should be a string with two characters. (As of MySQL Version 3.22.16, salt may be longer than two characters.) mysql> SELECT ENCRYPT("hello"); -> 'VxuFAJXVARROc' ENCRYPT() ignores all but the first 8 characters of str, at least on some systems. This behaviour is determined by the implementation of the underlying crypt() system call. If crypt() is not available on your system, ENCRYPT() always returns NULL. Because of this we recommend that you use MD5() or SHA1() instead; these two functions exist on all platforms. ENCODE(str,pass_str) Encrypt str using pass_str as the password. To decrypt the result, use DECODE(). The results is a binary string of the same length as string. If you want to save it in a column, use a BLOB column type. DECODE(crypt_str,pass_str) Descrypts the encrypted string crypt_str using pass_str as the password. crypt_str should be a string returned from ENCODE(). MD5(string) Calculates an MD5 128-bit checksum for the string. The value is returned as a 32-digit hex number that may, for example, be used as a hash key: mysql> SELECT MD5("testing"); -> 'ae2b1fca515949e5d54fb22b8ed95575' This is the "RSA Data Security, Inc. MD5 Message-Digest Algorithm".
    Mutasd a teljes hozzászólást!
  • Tudtommal password fuggveny nincs... na minnya megnezem a referenciaban, de szvsz sajat kodolas mindenkepp celszerubb...
    Mutasd a teljes hozzászólást!
  • a.) A POST biztos hogy jo? ellenorizted?
    b.) Globalis valtozok nincsenek kikapcsolva? Azaz mindenkepp ajanlott a $_POST['user'] alak hasznalata, ha megse igy teszed akkor a global $user, $password; sor megvan?
    c.) Minek oda az a zarojel? and pswd='$password', de jobban ajanlanam a pswd='".$_POST['password']."' alakot...
    d.) $connect... tobb kapcsolatot is kezelsz? Ha nem hagyd csak el...
    e.) az adatbazist kivalasztottad? (ez is hasonlo a b. ponthoz: nem tetted ki az egesz kodot, ergo nem tudom)
    f.) ez szvsz egy tudastar tema...
    Mutasd a teljes hozzászólást!
  • Az a password() mi? Éppen csak pedzegettem a MySQL-t, tehát nem ismerem igazán. Abban van ilyen? Vagy mi ez?
    Esetleg nem kavar be az, hogy a változónak is password a neve meg a függvénynek is? password($password)
    Mutasd a teljes hozzászólást!
  • ja igen, azt elfelejtettem mondani, hogy kipróbáltam azt is, hogy a
    $rowcount = mysql_num_rows($result);
    után beszúrtam eztetet:

    echo $rowcount;

    és akkora nullát írt ki, mint a Vörös tér. Pedig tuti jó a név+jelszó együttes.
    Mutasd a teljes hozzászólást!
  • Szasztok!

    Elég kezdő vagyok, alap kérdésem lenne. A következő problembe futottam jól bele:

    Adott egy felhasználóbeléptető rencer, ahol a loginnév + jelszó kombinéjsön helyességét a következőképpen vizsgálnám:


    $result = mysql_query("SELECT user from users where user = '$username' and pswd = password('$password')",$connect);
    $rowcount = mysql_num_rows($result);
    if ($rowcount==1) { /* csinájja EZT */ } else { /* csinájja AZT */ }

    Há nekem az a bajom, hogy ez a kód mindig AZT csinálja... A jelszó helyes, password funkcióval van tárolva a users táblában, tehát ott nem lehet hiba. A $username és $password változókat POST-tal kapom a loginoldal formjából, ergó azzal se lehet problem.

    Nem értem... tudna vki segíteni?
    Mutasd a teljes hozzászólást!
abcd