В чем причина таинственного появления файлов cookie? - PullRequest
3 голосов
/ 03 апреля 2009

Я разрабатываю веб-приложение, использующее файл cookie для хранения информации о сеансе. Я вручную удалил куки сессии, потому что я работаю над другой частью кода, где я не хочу сеанс входа в систему. Однако после нескольких перезагрузок страницы сессионный cookie-файл загадочным образом появляется снова, включая более ранние cookie-файлы, которые я установил только один раз для тестирования, затем удалил и больше никогда не использовал.

Я продолжаю вручную удалять эти файлы cookie, но, тем не менее, когда я через некоторое время перезагружаю страницу, файлы cookie возвращаются. Я дважды проверил свой код, и я уверен, что нигде не устанавливаю эти куки. В настоящий момент мой код находится в одном файле, и я ничего не включаю, поэтому я не могу ничего пропустить.

Мой код написан на PHP и использовал вызов setcookie () при первоначальном создании этих файлов cookie.

Я не установил дату истечения срока действия куки. Использование Safari 4 Beta и прокси-сервера GlimmerBlocker.

Чем объясняется это странное поведение?

Ответы [ 3 ]

2 голосов
/ 03 апреля 2009

Известны проблемы с обработкой файлов cookie некоторыми браузерами.

См. Следующую статью: Очистка iSEC после печенья

Также см. это обсуждение на Apple.com, касающееся случая вновь появляющегося cookie.

0 голосов
/ 29 июля 2009

Какую версию ОС вы используете? Какие другие приложения вы используете одновременно? Эти проблемы, как правило, связаны с тем, что приложения топают файлы хранилища файлов cookie (~ / Library / Cookies / Cookies.plist) один за другим.

0 голосов
/ 03 апреля 2009

Попробуйте, это должно удалить все ваши сеансовые куки:

    session_start();
    // Unset all of the session variables.
    $_SESSION = array();
    // If it's desired to kill the session, also delete the session cookie.
    // Note: This will destroy the session, and not just the session data!
    if (isset($_COOKIE[session_name()])) {
        setcookie(session_name(), '', time()-42000, '/');
    }       
    // Finally, destroy the session.
    session_destroy();
...