|
|
|
| Собственно имеется сайт с авторизацией посредством кукисов. Имеются пользователи которые не могут залогинится. Кукисы с нужными значениями у них устанавливают,но сайт при этом отображается так, будто авторизации не прошли. Реализована на самом сайте так :
if(isset($_COOKIE['такой-то']))
{
// То что видят авторизированные пользователи
}
else
{
// Форма ввода логина и пароля
}
|
Долго пытался понять в чем дело, но видимо не судьба, я, и многие другие пользователи свободно заходят со всех браузеров без проблем. Еще раз повторюсь что у тех кто не может зайти кукисы включены в настройках и при авторизации устанавливаются, не меняется "внешний вид" страници. | |
|
|
|
|
|
|
|
для: Otinys
(28.05.2009 в 19:04)
| | Покажите код, который куки устанавливает. У меня тоже была похожая проблема, дело оказалось именно в установке куков.
P.S. Кстати, устанавливать в куки флаг авторизации - это дыра, ведь куки можно подделать. Лучше в куки писать логин и пароль. | |
|
|
|
|
|
|
|
для: Commander
(29.05.2009 в 04:43)
| |
$login = htmlspecialchars($_POST['name']);
$pass = htmlspecialchars($_POST['password']);
$query = "select * from bd_name
where name='$login' and password=MD5('$pass');";
$nme = mysql_query($query);
if(!$nme) exit ("Ошибка выполнения запроса");
if(mysql_num_rows($nme) > 0)
{
while($themes = mysql_fetch_array($nme))
{
$значение_1 = trim($themes['значение_1']);
$значение_2 = trim($themes['значение_2']);
setcookie("cookie_1","$значение_1",mktime(0,0,0,1,01,2012),"/", "www.имя_хоста.ru",0);
setcookie("cooki_2","$значение_2",mktime(0,0,0,1,01,2012),"/", "www.имя_хоста.ru",0);
}
echo "<html><head>
<meta http-equiv='refresh' content='0; url=index.php'>
</head></html>";
}
else
{
echo "Ошибка Авторизации";
echo "<html><head>
<meta http-equiv='refresh' content='3; url=index.php'>
</head></html>";
}
|
вот так вот выглядит код... | |
|
|
|
|
|
|
|
для: Otinys
(29.05.2009 в 05:01)
| | Попробуйте так:
<?php
setcookie("cookie_1",$значение_1,mktime(0,0,0,1,01,2012),"/", "www.имя_хоста.ru",0);
setcookie("cooki_2",$значение_2,mktime(0,0,0,1,01,2012),"/", "www.имя_хоста.ru",0);
?>
|
P.S. Кстати, логин и пароль мало профильтровать с помощью htmlspecialchars(), безопасней будет сделать так:
<?php
if (! get_magic_quotes_gpc()){
$login = mysql_escape_string($login);
$pass = mysql_escape_string($pass);
}
?>
|
| |
|
|
|