мозилла и cookies (программистское)
Jun. 30th, 2004 12:22 amРазработчики Мозиллы не хотят брать мой код, потому что он расширяет формат файла с cookies несовместимым образом. В принципе, они правы... но теперь это заблокировано, пока не придумают новый формат; а раз уж его придумывать, то много ещё чего надо добавлять. В результате воз стоит на месте уже более полугода.
Вряд ли они согласятся на какой-нибудь kludge в моём исходном коде, позволяющий ему сохранять дополнительную информацию в существующем формате с помощью какого-нибудь некрасивого трюка... Неужели всё закончится тем, что мне придётся самому придумать и написать поддержку нового формата?
Вряд ли они согласятся на какой-нибудь kludge в моём исходном коде, позволяющий ему сохранять дополнительную информацию в существующем формате с помощью какого-нибудь некрасивого трюка... Неужели всё закончится тем, что мне придётся самому придумать и написать поддержку нового формата?
no subject
Хотя я бы тоже сделал какой-нибудь несложный kludge с сохранением совместимости. Ну когда еще у cookie появятся новые атрибуты, в конце концов? За это время вполне можно будет переделать формат.
А что, проблема с HttpOnly действительно так актуальна? Кажется, Мозилла не очень подвержена cross-site scripting и т.д.
no subject
Date: 2004-06-29 03:46 pm (UTC)Можно в одном из логических полей вместо TRUE и FALSE писать TRUE/FALSE итп., вторым значением считая HttpOnly, и не увеличивая количество tab fields. Проблема в том, что тогда старые Мозиллы будут это поле считывать как FALSE и неправильно обращаться с данной cookie. Короче, всё как-то грязно очень получается.
Проблема с HttpOnly не то чтобы ужасно актуальна. Когда-то давно Брэд пожаловался мне, что вот жаль, что только IE это понимает, а то LJ мог бы такие cookies посылать в своих логинах. Мы решили: why not do something about it? и я полез в Мозиллу и написал. Никто не умрёт, если это ещё полгода или год провисит в багзилле, и даже если сгинет там навсегда — но обидно всё-таки за потраченные усилия на изучение и хаканье этого монстра ;-)
no subject
Date: 2004-06-29 03:51 pm (UTC)А нельзя просто добавить новое поле в конце? Старая Мозилла наверняка его просто проигнорирует (но я не смотрел код).
no subject
Date: 2004-06-29 04:10 pm (UTC)no subject
Date: 2004-06-29 04:31 pm (UTC)no subject
Date: 2004-06-29 05:08 pm (UTC)Re: Reply to your comment...
Date: 2004-06-29 05:18 pm (UTC)1) формат файла остается стопроцентно совместимым со всей толпой лигаси,
2) никаких xml-депенденсей в коде (там, кажется, этого боялись?)
3) куча места для всей метаинформации, которую они хотят куда-то деть
4) обработка нового формата не требует никаких изменений к парсеру, а
решается одним "after-", который массирует уже распарсенные данные.
5) поддержка версий формата становится тривиальной
no subject
Date: 2004-06-29 11:56 pm (UTC)[.@#$%~-чтоугодно]session_id например? :)
no subject
Date: 2004-06-30 12:49 am (UTC)Ан не было такой. Зато сейчас есть прелести типа sqlite :)
no subject
Date: 2004-06-30 01:23 am (UTC)во-вторых, неужели Mozilla помирает, когда ему попал такой cookie - ну, не сохранит он нового флажка... И что?
в-третьих, разве это критично для LJ? Ведь все равно
можнонужно отключать дырки типа cross-site scripting на уровне разборки запросов к серверу.no subject
Date: 2004-06-30 02:03 am (UTC)no subject
Date: 2004-06-30 02:18 am (UTC)no subject
Date: 2004-06-30 11:17 am (UTC)no subject
Date: 2004-06-30 11:18 am (UTC)Некрасиво ;)
во-вторых, неужели Mozilla помирает, когда ему попал такой cookie - ну, не сохранит он нового флажка... И что?
Тоже ничего. Но Брэд не хочет использовать MS-only стандарты.
в-третьих, разве это критично для LJ? Ведь все равно
можнонужно отключать дырки типа cross-site scripting на уровне разборки запросов к серверу.Не критично. Всё это не критичный вопрос, просто "nice to have".
no subject
Date: 2004-07-01 12:56 am (UTC)no subject
Date: 2004-07-01 03:20 am (UTC)no subject
Date: 2004-07-01 09:48 am (UTC)Мне кажется, что это бред - флажок был создан Микрософтом как расширение стандарта, не нарушающее поведения других браузеров (включая старые версии того же эксплорера). Нет никакой причины его не зажигать на всякий случай.
Некрасиво было бы, например, если бы аналогичный cookie был у Мозиллы и другой у Оперы, причем ни синтаксис, ни функциональность не совпадали бы на 100%. А если бы еще браузер падал с GPF, получив флажок, предназначенный для "чужого", это был бы номер.. Собственно говоря, не так уж давно поддержка HTML так и была устроена. Ох, разленились мы за последнее время.