asp.net и куки специальные символы - PullRequest
2 голосов
/ 11 апреля 2011

Обнаружили очень интересную проблему в asp.net с файлами cookie: при добавлении файла cookie со значением, например test, с использованием

HttpCookie cookie = new HttpCookie("test", "test&");
Response.Cookies.Add(cookie);

и последующей попытке получить значение Request.Cookies ["test"] конечный амперсанд теряется,Если он не отстает, он не теряется.В firebug или javascript данные верны, поэтому я думаю, что они специфичны для asp.net.Конечно, в основном можно сказать, просто используйте UrlEncode.Но действительно ли это необходимо?Есть ли список запрещенных чартеров для файлов cookie (потому что я думаю, что он меньше, чем для URL)?Я нашел похожую тему, но в ограниченном списке нет символа &: Допустимые символы в файлах cookie

1 Ответ

3 голосов
/ 12 апреля 2011

Амперсанд не разрешен в куки.Необходимо кодировать данные cookie с помощью метода UrlEncode.

System.Web.HttpUtility.UrlEncode(cookie);

См. Также эти вопросы / ответы SO:

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