Проясните мне, пожалуйста, следующую ситуацию.
На сайте введена система регистрации и авторизации посетителей, информация о сеансе поддерживается через куки. Т.е. если человек зашёл гостём, то после закрытия окна кука прибивается, и в следующий заход этого человека он воспринимается скриптом как новый гость. А если человек зарегистрировался и сказал, чтобы его помнили, то ему будет дана "вечная" кука.
Я решил написать простенькую систему учёта доступа к сайту и для этого завёл ещё одну всегда "вечную" куку, которая записывается юзеру при первом посещении сайта.
Итак, когда человек заходит гостём, ему даются 2 куки: "вечная" и кука сеанса, существующая до закрытия окна.
Set-Cookie: seans=someID1;
Set-Cookie: first_session=someID1; expires=Tue, 28-Oct-2014 09:26:56 GMT (path и domain для краткости опускаю, someIDi - на практике длинные числа)
После закрытия окна в системной папке виндов Cookies сохраняется, естественно, только вечная кука в файле fileName[1].
Когда он снова зайдёт как гость, а потом авторизуется, ему пришлют 2 вечные куки.
Set-Cookie: seans=someID2; expires=Tue, 28-Oct-2014 09:27:30 GMT
Set-Cookie: first_session=someID1; expires=Tue, 28-Oct-2014 09:27:30 GMT.
Теперь начинается непонятное для меня. После закрытия окна в папку Cookies добавляется файл fileName[2] с двумя куками, при этом fileName[1] остаётся. Почему так???
Т.е. в fileName[1] и fileName[2] находится абсолютно одинаковая инфа об одной и той же куке first_session (+ в fileName[2] инфа о куке seans). Почему броузер не удаляет fileName[1] или не пишет 2 новые куки именно в него?
В моём случае значение куки first_session в обоих файлах одинаковое, а что произойдёт, если я буду разные писать? Какое из них будет выбрано для чтения?
Как это исправить, чтобы на ПК посетителя хранился только 1 экземпляр куки с конкретным именем?