Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Установка cookie и вызов header()

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ПТО
Отправлено: 10 Июля, 2014 - 08:41:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




Задача такая:
процесс авторизации заканчивается header('location: mysite');exit;
Пользователь, перенаправившись на указанную страницу, проходит проверка на одну из кук.
Необходимо сделать так, чтобы кука уже была установлена, что у меня не получается.

Я пробовал так: до вызова header() сделать setcookie('x', $value);
Но в коде после перенаправления этой куки нет.

Еще пробовал так: сначала написал header("Set-Cookie: {'x'}={'myValue'};"); затем header('location: mysite');exit;
После перенаправления этой куки опять вроде бы нет.
Не понял
(Добавление)
PHP:
скопировать код в буфер обмена
  1. function test_1() {
  2.         Cookie::set('a', 'xxx');
  3.         header("location: " . URL . "test_2");
  4.         exit();
  5.     }
  6.  
  7.     function test_2() {
  8.         $b = Cookie::get('a');
  9.         model::setMessage($b);
  10.     }
Вроде работает. Подскажите, все правильно ли я делаю?
 
 Top
OrmaJever Модератор
Отправлено: 10 Июля, 2014 - 09:40:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




в setcookie важен 4 и 5 параметр, да и 3 я бы тоже советовал ставить


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
ПТО
Отправлено: 10 Июля, 2014 - 09:57:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




OrmaJever пишет:
в setcookie важен 4 и 5 параметр, да и 3 я бы тоже советовал ставить
Читал про параметры, как у нас, так и на php.net:
setcookie($name, $value, $expire, $path, $domain, $secure, $httponly);
$expire я не задаю,
$path - я не понял в чем смысл. Мне бы на примере. У меня, например, единая точка входа index.php. Какие "директории"?
$domain - тоже не понял. У меня например mysite.com. Все домены 3, 4 и ... уровней под контролем. Отсюда, я так понимаю, можно ничего не указывать.
$secure - тут я ставлю true. У меня https://. Я полагаю, куки тоже шифруются. Я прав?
$httponly - false. Мне надо менять куки JS. На всякий случай еще раз убедился, что xss уязвимостей нет

(Отредактировано автором: 10 Июля, 2014 - 09:59:18)

 
 Top
ПТО
Отправлено: 10 Июля, 2014 - 13:14:33
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




up
 
 Top
OrmaJever Модератор
Отправлено: 10 Июля, 2014 - 14:05:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




ну дак в панели разработчика в браузере посмотрите куда ставиться кука.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
ПТО
Отправлено: 10 Июля, 2014 - 15:03:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




OrmaJever пишет:
в setcookie важен 4 и 5 параметр, да и 3 я бы тоже советовал ставить
Про мои можешь что-нибудь сказать?
 
 Top
DelphinPRO
Отправлено: 10 Июля, 2014 - 15:10:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




я использую такую обертку у себя

PHP:
скопировать код в буфер обмена
  1. public static function setCookie($cookieName, $data, $period = null, $path = '/')
  2. {
  3.         $period = $period ? $period : 3600 * 24 * 7; // default - 7 days
  4.         setcookie($cookieName, $data, time() + $period, $path, $_SERVER['SERVER_NAME'], false, true);
  5. }


PHP:
скопировать код в буфер обмена
  1. public static function delCookie($cookieName, $path = '/')
  2. {
  3.         setcookie($cookieName, '', time() - 3600*25, $path, $_SERVER['SERVER_NAME'], false, true);
  4. }


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
ПТО
Отправлено: 10 Июля, 2014 - 19:06:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




Помогите, пожалуйста. Не пойму, где ошибка:
Ситуация такая:
1) пользователь отправляет пост-запрос POST run с кукой PHPSESSID
2) в скрипте задается кука objnum
3) сервер посылает браузеру
header('location:' . URL . $a . '?o=' . $object['objnum']); //перенаправление
и заданную куку objnum. Её видно на картинке.

4) браузер получает заголовок и отправляет серверу новый запрос GET pto?o=1
На картинке видно, что браузер посылает на сервер только одну куку
ГДЕ ВТОРАЯ ?
Прикреплено изображение (Нажмите для увеличения)
Снимок.PNG
 
 Top
ПТО
Отправлено: 10 Июля, 2014 - 19:08:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




В консоли набрал:
(Добавление)
DelphinPRO пишет:
$path = '/'


Вот где собака зарыта
Дельфин, дарую карму )) Закатив глазки
Прикреплено изображение (Нажмите для увеличения)
Снимок1.PNG
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB