У меня есть система, которая генерирует cookie в PHP, а затем должна удалить его из классического ASP. Это быстрый и грязный блок разработки, просто запасная машина XP с IIS5, PHP5 и ASP3. Я использовал файл hosts для создания поддельного доменного имени (www.localtest.com), так как другие части процесса не будут работать с localhost.
Файл PHP находится в подкаталоге вне корня сайта, но домен cookie - это .localtest.com, а путь - корень (/). Имя файла cookie - «authkey», а значение - 32-байтовый хэш-код.
Файл ASP находится в корне сайта (на данный момент). После того, как PHP его создаст, он может отлично прочитать cookie, но, что бы я ни пытался, я не могу изменить cookie вообще с ASP - он не изменит значение, не говоря уже об изменении срока действия. И Firefox 3.5, и IE 8 игнорируют все попытки, которые я предпринял (полагает, что когда они наконец-то согласятся, это будет так).
Я перепробовал множество вариантов - установка только срока действия (для широкого диапазона значений в различных форматах), установка всех параметров в точном соответствии с cookie, кроме срока действия, с использованием Response.AddHeader для создания Set-Cookie заголовок со всеми этими вариациями, устанавливая значение в false, а затем, наконец, просто попытка изменить значение на какую-то другую строку, которая не удалась.
Что, черт возьми, происходит? Является ли это некоторым побочным эффектом ASP при работе с «поддельным» доменом? Я разработал этот способ более 10 лет, не видя, чтобы у ASP были какие-либо проблемы с указанным хостами доменом, хотя у меня никогда не было случая удалить куки (как ни странно).
Я особенно удивлен, что даже не смог установить значение.