Проблемы с перезаписью cookie - PullRequest
2 голосов
/ 02 октября 2009

У клиента есть сайт на a.url.com. Клиент создает файл cookie с именем хоста ".url.com" и путем "/". Клиент перенаправляет нас на b.url.com. У клиента есть проблема с кодированием, которая требует от нас удалить куки (длинная история).

Следующий код вообще не регулирует срок действия в наших тестовых или производственных средах, но локально работает нормально.

if (Request.Cookies["cookie"] != null)
{
  HttpCookie myCookie = new HttpCookie("cookie");
  myCookie.Expires = DateTime.Now.AddDays(-1d);
  Response.Cookies.Add(myCookie);
}

Есть идеи?

Ответы [ 4 ]

5 голосов
/ 02 октября 2009

Мы поняли это. Нам нужно было добавить одну строку кода, чтобы вручную установить домен. Имеет смысл сейчас.

if (Request.Cookies["cookie"] != null)
{
  HttpCookie myCookie = new HttpCookie("cookie");
  myCookie.Domain = ".url.com";
  myCookie.Expires = DateTime.Now.AddDays(-1d);
  Response.Cookies.Add(myCookie);
}
0 голосов
/ 02 октября 2009

Вот хак.Я просто публикую это сообщение на тот случай, если вы обнаружите, что не можете делать то, что хотите, из-за какой-то проблемы безопасности, мешающей вам решить проблему на втором сайте.

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

Надеюсь, есть лучший подход, но, по крайней мере, у вас есть альтернатива, если другие не появятся.

0 голосов
/ 02 октября 2009

Если вы не можете заставить его работать в C #, возможно, вы захотите посмотреть, можете ли вы манипулировать файлами cookie в javascript.

Gary

0 голосов
/ 02 октября 2009

это сторонние куки? Если это так, настройки безопасности по умолчанию в IE будут запрещать запись файлов cookie в зоне «Интернет», но это разрешено в вашей локальной зоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...