1 / 1 / 0
Регистрация: 08.09.2009
Сообщений: 202
1

Php and cookie

28.02.2017, 18:37. Показов 475. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер!
Стоит авторизация с куками

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (isset($_COOKIE['id']) and isset($_COOKIE['hash']))
{   
    $query = mysqli_query($link, "SELECT * FROM user WHERE id = '".intval($_COOKIE['id'])."' LIMIT 1");
    $userdata = mysqli_fetch_assoc($query);
 
    if(($userdata['hash'] !== $_COOKIE['hash']) or ($userdata['id'] !== $_COOKIE['id']))
    {
       header("Location: login.php"); exit();
    }
    else {
                 страница
    }
}
else {header("Location: login.php"); exit();}

Все хорошо...до поры до времени. Порой выскакивает ошибка, что браузер бесконечно переадресует. спасает только чистка куки. в чем дело? (

Вот страница формы, где проверяются куки
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (isset($_COOKIE['id']) and isset($_COOKIE['hash']))
 
{   
 
    $query = mysqli_query($link, "SELECT * FROM user WHERE id = '".intval($_COOKIE['id'])."' LIMIT 1");
 
    $userdata = mysqli_fetch_assoc($query);
 
 
    if(($userdata['hash'] == $_COOKIE['hash']) or ($userdata['id'] == $_COOKIE['id']))
 
    {
 
        header("Location: index.php"); exit();
 
    }
 
  
}
Добавлено через 4 минуты
я так понимаю, что как раз тут начинает туда-сюда переадресовывать
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2017, 18:37
Ответы с готовыми решениями:

PHP cookie
Здравствуйте. Не давно увлекся PHP, так что пожалуйста не судите строго и помогите разобраться. В...

COOKIE в php
Код в файле index.php(через setcookie вылезало предупреждение "Cannot modify header information -...

COOKIE в PHP
Примерно обрисую вопрос: есть торговый каталог. Если пользователь зарегистрирован, то ему из БД...

php + cookie
я новачьок( <h1> Pleas enter password and login</h1> <form method = post action =...

2
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
28.02.2017, 20:18 2
Цитата Сообщение от vi100k Посмотреть сообщение
Все хорошо...до поры до времени. Порой выскакивает ошибка, что браузер бесконечно переадресует. спасает только чистка куки. в чем дело? (
Цитата Сообщение от vi100k Посмотреть сообщение
PHP
1
if(($userdata['hash'] == $_COOKIE['hash']) or ($userdata['id'] == $_COOKIE['id']))
Вот здесь даже если хэш не совпал, перекинет на index.php. А там он опять не совпадет и опять перекинет на login.php и так по кругу.

На странице формы, где проверяются куки вместо or по логике должно стоять and я так понимаю.

Цитата Сообщение от vi100k Посмотреть сообщение
PHP
1
if (isset($_COOKIE['id']) and isset($_COOKIE['hash']))
На суть дела не влияет, но можно писать просто
PHP
1
if (isset($_COOKIE['id'], $_COOKIE['hash']))
1
1 / 1 / 0
Регистрация: 08.09.2009
Сообщений: 202
01.03.2017, 10:27  [ТС] 3
спасибо, попробую. завтра как раз запускаем проект, проверим на 20 юзерах

Добавлено через 5 минут
хотя логично. да, Вы правы, если хэш не совпал, то круг замыкается! спасибо!

Добавлено через 10 часов 56 минут
да, все верно! при несовпадении хэша в куки и бд, теперь не зацикливается, а выводит страницу с авторизацией! спасибо большое!
0
01.03.2017, 10:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2017, 10:27
Помогаю со студенческими работами здесь

PHP & Cookie
Здравствуйте. Не подскажите где я конкретно косячу? Обычный GET в адресной строке передаёт кол-во...

Работа с COOKIE в php.
1.Можно ли ставить 2 куки на 1 странице 2.Если поставил куки в r/h.php будет ли он виден а r/t.php...

Работа с Cookie в PHP
Начнем с того, что у меня ни разу не получалось грамотно поставить cookie К примеру самое простое...

Сессии и cookie в php
Создать cookie с названием users и прекратить действие данного cookie в полночь 01 января...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru