- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день. Решил попросить у вас помощи.
Есть авторизация на аяксе.
Форма входа -> обработчик с проверкой данных и созданием куков -> файл с проверкой куков.
После авторизации и создания куков пытаюсь вызвать их на главной - не работает, но в папке браузера я их вижу.
Решил проверить работают ли они сразу после создания - все окей, тут все пашет.
Может быть кто нибудь сталкивался с этой проблемой?
То есть я могу обратиться к кукам только в том файле, где я их создал. Если обновляю страницу или перехожу на другую и пытаюсь там их использовать - скрипты уже не работают.
Сильно не пинайте, заранее спасибо ;)
Добрый день. Решил попросить у вас помощи.
Есть авторизация на аяксе.
Форма входа -> обработчик с проверкой данных и созданием куков -> файл с проверкой куков.
После авторизации и создания куков пытаюсь вызвать их на главной - не работает, но в папке браузера я их вижу.
Решил проверить работают ли они сразу после создания - все окей, тут все пашет.
Может быть кто нибудь сталкивался с этой проблемой?
То есть я могу обратиться к кукам только в том файле, где я их создал. Если обновляю страницу или перехожу на другую и пытаюсь там их использовать - скрипты уже не работают.
Сильно не пинайте, заранее спасибо ;)
Файл который создает куки находиться находиться в корне сайта? Если нет, попробуй его положить в корень. Страница после создания кук обновляется?
http://php.net/manual/ru/function.setcookie.php
Установленная кука может быть прочитана только при следующей загрузке страницы. Файл скрипта, установившего куку здесь ни при чём, кука передаётся браузером при запросах к домену, для которого в хранилище браузера существует непросроченная кука.
Соответственно, в Вашем случае, после успешной авторизации, Вам необходимо "авансом" поправить отображение информации об авторизации пользователя посредством JavaScript. При загрузке следующей страницы кука прочитается.
Файл который создает куки находиться находиться в корне сайта? Если нет, попробуй его положить в корень. Страница после создания кук обновляется?
Не в корне, в папке с обработчиками данных.
Установленная кука может быть прочитана только при следующей загрузке страницы. Файл скрипта, установившего куку здесь ни при чём, кука передаётся браузером при запросах к домену, для которого в хранилище браузера существует непросроченная кука.
Соответственно, в Вашем случае, после успешной авторизации, Вам необходимо "авансом" поправить отображение информации об авторизации пользователя посредством JavaScript. При загрузке следующей страницы кука прочитается.
После нажатия на кнопку "Вход" с правильным логином и паролем, приходит ответ "Привет %имя_пользователя%. Все работает".
При этом %имя_пользователя% берется из БД с помощью запроса SELECT login FROM user WHERE id=$_COOKIE['id'].
То есть в файле авторизации они создаются и нормально работают.
Но если я хочу на любой другой странице точно также вывести логин пользователя, ничего не получается.
Сейчас попробую создать куки в корне, мб и правда в этом проблема.
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
setcookie ( "userLogin", $userLogin, time()+3600*24*7, "/")
Параметр $path позволяет установить адрес(а), для которого(ых) могут использоваться кукисы. Если этот параметр не указан, то по умолчанию куки будут доступны для текущей директории, а также для всех поддиректорий, но в родительской категории Вы уже не сможете получить доступ к этим кукам.
з.ы. не стоит писать какие-то цифровые данные так, как я записал время действия кук. Лучше сразу запишите time()+604800, так как тут для сервера на 2 операции меньше:)
При этом %имя_пользователя% берется из БД с помощью запроса SELECT login FROM user WHERE id=$_COOKIE['id'].
Вы это серьёзно? Злоумышленник сможет запросто создать куку с нужным id и зайти на сайт под любым пользователем.
Вы это серьёзно? Злоумышленник сможет запросто создать куку с нужным id и зайти на сайт под любым пользователем.
Запрос показал чтобы вы смогли понять где возможная ошибка. Этим запросом я проверял где кука работает, а где нет.
У меня в куках хранится id и hash, которые и проверяются скриптом. Если вы можете посоветовать какие-то способы защиты от взлома, буду крайне рад ☝
а почему не воспользоватся сесиями ?
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
setcookie ( "userLogin", $userLogin, time()+3600*24*7, "/")
Параметр $path позволяет установить адрес(а), для которого(ых) могут использоваться кукисы. Если этот параметр не указан, то по умолчанию куки будут доступны для текущей директории, а также для всех поддиректорий, но в родительской категории Вы уже не сможете получить доступ к этим кукам.
з.ы. не стоит писать какие-то цифровые данные так, как я записал время действия кук. Лучше сразу запишите time()+604800, так как тут для сервера на 2 операции меньше:)
Большое спасибо, ошибка и правда был на стадии установки кук.
Я не указывал последний параметр и кука создавалась только на папку /php/form/, поэтому внутри все работало, а на главной были ошибки.
Спасибо еще раз :)