Разделение и рекомбинация большая строка в печенье с помощью ASP.NET

StackOverflow https://stackoverflow.com/questions/4608386

Вопрос

У меня есть большая строка, которую я хочу сохранить в файле cookie, однако я не знаю, каковы лучшие практики для максимальной длины строки на cookie, а максимальное количество cookie.

Какую логику я должен использовать, чтобы разделить строку, а затем комбинировать набор файлов cookie?

(Microsoft ADFS и, возможно, Siteminder делают эту технику, поэтому я должен заинтересовать то, что такое его реализация)

Это было полезно?

Решение

Печенье - это то, что обрабатывает браузерами, поэтому каждый браузер имеет разные ограничения.

Split Cookie может помочь только временно, потому что есть также ограничение для общего количества данных файлов cookie для каждого сайта, но также добавляет накладные расходы на передачу данных на каждой странице

Пределы для каждого браузера на cookie:
Internet Explorer ручка Max Cookie около 3904 байтов
Mozilla Firefox ручка максимальная печенье около 3136 байтов

Когда я делаю некоторые тесты на Chrome, Chrome Crash внутри с большим файлом cookie, и ни одно сообщение не появится ниты страницы.

Теперь оба Netscape и Microsoft имеют меры на месте, которые ограничивают количество базы файлов cookie на ограничениях RFC 2109 Общее количество файлов cookie до 300 ref: http://www.cokiecentral.com/faq/#2.5.
Это сделано по многим причинам, один из них - это взлом, визуализируя сайт, который идут и загружает полное видео на куки :) и заполнить свой жесткий диск с ним ...

Я говорю, что лучшие практики состоит в том, чтобы сохранить небольшую ссылку на печенье на браузере и подключить ее с реальными данными на сервере. Чем меньше, тем лучше от всех аспектов.

Как сделать ваши тесты на cookie, вы можете сделать такой код.

if(Request.Cookies["cookieTest"] == null)
    Request.Cookies["cookieTest"].Value = "more text into cookie";
else
    Request.Cookies["cookieTest"].Value += "more text into cookie";

// check now the size
Responce.Write(Request.Cookies["cookieTest"].Value.Length);

Мой опыт показывает много случайных непредсказуемых проблем, когда вы пытаетесь использовать неконтролируемые большие данные о куки. Я слышал много раз поддержки: очистите свои куки и попробуйте снова :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top