Új hozzászólás Aktív témák

  • Louloudaki

    aktív tag

    valaki nézzen már rá plíííz erre a függvényre, hogy miért fut le a wrong password ágon belül mindkét ág egyszerre ill rosszul
    - ha még nincs a usernek sora a rontásokat számoló táblában, akkor lefut az insert meg még meg is növeli eggyel rögtön, tehát 1 rontásból kapásból 2 lesz
    - ha már van elrontott belépési kísérlet tárolva, akkor meg kettesével növeli a próbák számát
    nem értem mi a baj :F

    function login($email,$pwd){
    $now=time();
    $sql="select userId from users where email=".quote($email)." limit 0,1";
    $res=mysql_query($sql,_sql);
    if(mysql_num_rows($res)>0){
    // existing user
    $userId=mysql_fetch_row($res);
    $sql="select blockedTill,isAdmin,language,name from users where email=".quote($email)." and pwd=".quote(md5($pwd))." limit 0,1";
    $res=mysql_query($sql,_sql);
    if(mysql_num_rows($res)>0){
    // correct pwd
    $userData=mysql_fetch_assoc($res);
    // if blocked -> return blocked else login
    // if admin
    // if ok delete from attempts
    $return="ok";
    return $return;
    }
    else{
    // used wrong pwd
    $sql="select id from user_login_attempts where userId=".quote($userId['0'])." limit 0,1";
    $res=mysql_query($sql,_sql);
    if(mysql_num_rows($res)>0){
    // already tried to login with wrong pwd
    $sql="update user_login_attempts set tries=tries+1 where userId=".quote($userId['0'])." limit 1";
    mysql_query($sql,_sql);
    // block level1: 5 tries in 10 min (600 sec) -> 1 hour (3600 sec)
    // block level2: 10 tries in 1 hour -> 1 day (86400 sec)
    // block level3: 20 tris in 1 day -> forever (2037.12.31.) $forever=mktime(0,0,0, 12,31,2037);
    $return="notfound";
    return $return;
    }
    else{
    // insert new wrong attempt
    $sql="insert into user_login_attempts set userId=".quote($userId['0']).", tries=1";
    mysql_query($sql,_sql);
    $return="notfound";
    return $return;
    }
    }
    }
    else{
    // user not found
    $return="notfound";
    return $return;
    }
    return $return;
    }

Új hozzászólás Aktív témák