|
|
|
|
|
для: Lotanaen
(24.03.2011 в 17:44)
| | О, черт.
Вы правы.
Надо было всю эту проверку после объявления переменных поставить...
Спасибо, раскрыли глаза) | |
|
|
|
|
|
|
|
для: alexander95
(18.03.2011 в 22:43)
| | setcookie("name",$name,time()+600);
наверное нужно заменить на:
setcookie("user",$name,time()+600);
if(isset($_COOKIE['user']))
if(mysql_result(mysql_query("SELECT secode FROM users WHERE u_name=".$_COOKIE['user']),0)==$_COOKIE['si'])
{
mysql_query("UPDATE users SET secode=".md5($name.$pass.time())." WHERE u_name=$name");
setcookie("si",md5($name.$pass.time()),time()+600);
setcookie("name",$name,time()+600);
return 1;
}
else
echo "cookie error";
|
Какое значение у переменной $name; | |
|
|
|
|
|
|
|
для: Красная_шляпа
(20.03.2011 в 12:11)
| | нету ошибок, вот в том то и дело.
просто не редиректит | |
|
|
|
|
|
|
|
для: alexander95
(19.03.2011 в 20:39)
| | erorr_reporting(E_ALL); в самое начало
и echo mysql_error()."<br>"; после каждого запроса и смотрим ошибки | |
|
|
|
|
|
|
|
для: Красная_шляпа
(18.03.2011 в 23:41)
| | Да там, если вы посмотрите, почти нигде кавычки и не стоят. Но дело все же не в этом, все равно не получается.. | |
|
|
|
|
|
|
|
для: alexander95
(18.03.2011 в 22:43)
| | mysql_query("SELECT secode FROM users WHERE u_name='".mysql_real_escape_string(.$_COOKIE['user'])."';")
вообщем sql инъекция, а не работает из-за ковычек | |
|
|
|
|
|
|
|
<?
function login(){
if(isset($_COOKIE['user']))
if(mysql_result(mysql_query("SELECT secode FROM users WHERE u_name=".$_COOKIE['user']),0)==$_COOKIE['si'])
{
mysql_query("UPDATE users SET secode=".md5($name.$pass.time())." WHERE u_name=$name");
setcookie("si",md5($name.$pass.time()),time()+600);
setcookie("name",$name,time()+600);
return 1;
}
else
echo "cookie error";
$name=$_POST['name'];
$pass=$_POST['pass'];
$query="SELECT passwd FROM users WHERE u_name='$name'";
$res=mysql_query($query);
if(!$res)
return 0;
$res=mysql_result($res, 0);
if($pass==$res)
{
mysql_query("UPDATE users SET secode=".md5($name.$pass.time())." WHERE u_name=$name");
setcookie("si",md5($name.$pass.time()),time()+600);
setcookie("name",$name,time()+600);
return 1;
}
else
return 0;
}
?>
|
Кука создается при правильных логине и пароле, а вот при следующем заходе на страницу должно работать так:
<? login()?header("location: private"):$err=1; ?>
|
$err дальше обрабатывается, а вот перекидывает на private только при первом попадании на страницу. При следующем заходе на нее не перекидывает.
upd.
да, кстати, секурити только время от времени записывается. | |
|
|
|
|