Mój skrypt nie działa


(Bartekviper) #1

Jak wpisze złe hasło to działa. Jak dobre to wyskuje mi że stronia nie istnieje.

<?


$login=$_POST["login"];

$pass=$_POST["pass"];

setcookie("user", $login);



function isLegal($str)

{

        if (strpos($str, "'") !== false) return false;

        if (strpos($str, "'") !== false) return false;

        return true;

}


function checkPass($pass, $login)

{

        if(!isLegal($pass) && !isLegal($login)){

                return false;

        }

        $link = mysql_connect("localhost", "root" , "krasnal");

        $flag = mysql_select_db("gra_moja");


        $query = "SELECT users_pass FROM users WHERE users_login='".$login."' ";

        $result = mysql_query($query);


        if(!$link || !$flag){

                echo "Problem z połączeniem";

                mysql_close($link);

                return false;

        }


        $row = mysql_fetch_row($result);


        if(!$row){

                mysql_close($link);

                return false;

        }

        if($row[0] != $pass){

                mysql_close($link);

                return false;

        } else {

        mysql_close($link);

        return true;

        }

}


if(!checkPass($pass, $login)){

        echo "BLAD";

} else {

        setcookie("auth", "1");

        include "user.php";

}

?>

(Kubarek) #2

a masz stronę user.php w tym samym katalogu co ten skrypt ?

a poza tym, wywal linijkę z setcookie(...), użyj zamiast tego sesji - jak ja sobie stworzę taki plik z wartością auth ustawioną na 1, to też się zaloguję, i sprawdzanie czy login/hasło jest poprawne nie pomoże ...


(Bartekviper) #3

Co przez to sugerujesz?? Znasz jakieś zabezpieczenie.


(Wajrak) #4

Zabezpieczeniem będzie korzystanie z sesji których dane są trzymane na serverze i nie da się ich fakeować w przeciwieństwie do ciastek.