Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проверка наличия включеных кук


Автор: InfMag 13.2.2005, 18:37
Я вот не понимаю как проверять ключены ли куки у юзера на одной странице...
Вот мне мол говорили, что нада сначала забить любую куку на одной странице, а на другой ее проверить на наличие, но я не хочу постоянно переходить на другую страницу, да и это все равно не решение трабла.
Юзверь может веть и сразу набрать мол http://xxx/file.php, а постоянно проверять куки, на каждой мол странице не выгодно. Вдруг кука кончится по времени. И не говорите ставить куку на год. Юзер может поставить удаление кук при закрытии браузера.

Хелп! Люди, мне нужен ответ, который радикально решит затычку! smile smile

Автор: Opik 13.2.2005, 22:06
инклудишь в каждом файле файл cookiecheck.php
cookiecheck.php:
Код
<?
if(!isset($_COOKIE['name'])){
 Header('Location: index.php'); // выкидываем на главную если нет куки.
}
?>

Автор: Vaulter 14.2.2005, 11:21
Код

<?
if(!isset($_COOKIE['name'])){
 Header('Location: index.php'); // выкидываем на главную если нет куки.
}
?>

не поможет!
Код

<?php
/*********************************************
*
*        writed by Andrey Bayramov
*        change anything at your own risk
*        2004
*        have a question? mailto:rider@vlink.ru
*
**********************************************/
if(empty($_COOKIE['havecookie']) && empty($GET['cc']))
{//try to set
@ob_end_clean();
setcookie('havecookie','1');
header('Location: http://'.($_SERVER["SERVER_NAME"]?$_SERVER["SERVER_NAME"]:$_SERVER["SERVER_ADDR"]).
str_replace($_SERVER["DOCUMENT_ROOT"],"",$_SERVER["SCRIPT_FILENAME"]).basename($_SERVER['PHP_SELF'])."?cc=1");
  //IN some cases, server's PHP_SELF do not work correctly (www.vlink.ru)
  //redirect to page with cc=1 - this will be happen once on first view of any page with included checkcookie.php
}
elseif($_GET['cc']==1 && empty($_COOKIE['havecookie']))
{
$global[cookies]='off';//SOME ACTIONS
}
elseif($_GET['cc']==1 && $_COOKIE['havecookie']=='1')
{
$global[cookies]='on';//SOME ACTIONS
}
else
{
$global[cookies]='';//SOME ACTION
  //some of cc or havecookie values are wrong - is a EXPLOIT?
  //so write there some backdoor :)
}
?>

инклудь его где угодно.

Автор: InfMag 15.2.2005, 19:40
Vaulter
Че-то до меня не доперло че делает твой код.
Почему нету isset()-ов, тока empty()?
Ведь он может отреагировать с ошибкой.
Добавлено @ 19:43
И почему не поможет?

Автор: Guest 16.2.2005, 08:14
InfMag
под фразой проверять ключены ли куки я понял что следует проверять, включена ли поддержка куков у пользователя.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)