![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Stampede, блеск! +1 однозначно!
Я тут погуглил немного тему - похоже, такого применения navigator'а ранее в истории не встречалось, так что с открытием! Однако, оказывается, существует кроссбраузерный и вроде как вполне легальный способ передачи состояния без кук - через свойство window.name (конечно, с ограничением на строковый тип значения, но разве это остановит JSON-щиков со стажем!). Заодно нашел несколько упоминаний о еще одной "особенности" FF-овского navigator'а и его свойств (раз, еще раз и еще много-много раз). Правда, ту дырку вроде как прикрыли... P.S. А в IE, оказывается, еще вот что есть... аж 64 кБ на страницу... dsCode,
Это можно "выключить", указав для них autocomplete="off" Это сообщение отредактировал(а) SelenIT - 17.9.2007, 23:08 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 4 Всего: 144 |
Я на объект name только покосился: никак не ожидал, что он будет сохраняться между переходами. А он, оказывается, вона как - даже между сайтами работает! И действительно, кроссбраузерно! По поводу нецелевого использования переменной name: я почти два года назад рассматривал возможность в точности такого же хака в отношении потоков Java: Контекст потока в Thread. И в частности, говорил там такие слова: Действительно, далеко не все отдают себе отчет, что строкой можно закодировать практически все, что угодно - хоть трилогию Матрица в коллекционном издании. Вопрос лишь в том, каким физическим параметром ограничивается длина. А уж в какой форме сериализовать - это уже дело техники. Но в JavaScript, конечно, сам бог велел использовать JSON. Насчет секьюрности ничего особенно страшного нет: можно сохранять инфу в зашифрованном виде. Короче, есть серьезный повод подумать о новых, неведомых раньше, прорывных решениях. Пойду загружать подкорку -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
Древнейшая недокументированная редко используемая фича (то работает, то нет, то на одном домене, то нет, то в одном браузере, то нет, то считают багом, то нет...). "Ранее в истории": 1997 год http://groups.google.com/group/comp.lang.j...d51f?hl=ru& 1998 год http://groups.google.com/group/comp.lang.j...5b56?hl=ru& 1999 год (рассматривается в качестве Security Vunerability) http://web.archive.org/web/20000209143711/...gator/index.htm 1999 год http://groups.google.com/group/comp.lang.j...4c14?hl=ru& И так далее поближе к нашему веку, если погуглить, то становится ясно, что каждый год эта фишка снова всплывает, как только встаёт вопрос о сохранении какой-нибудь мелочи: позиции скролла и т.п. http://www.codingforums.com/showpost.php?p...amp;postcount=6 http://www.webdeveloper.com/forum/archive/...hp/t-27455.html IE кстати, не остался в стороне (IE5.5/IE6.0), но с определённого момента (XP SP 2) это дело прикрыли http://support.microsoft.com/kb/884698 |
|||
|
||||
| dsCode |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 565 Регистрация: 8.9.2007 Где: Saint-Petersburg Репутация: 19 Всего: 26 |
Zeroglif, так что, значит полагаться на это не стоит? В какой-то момент все это может рухнуть (если это баг, а не "недокументированная редко используемая фича")? Но пока оно есть, вероятно, это может быть серьезной дыркой. И единственным способом, который гарантированно вернет правильный параметр, является передача через URL (если куки отключены и нет серверной части)?
P.S.: а вообще, интересные "фичи" - ни про navigator.myProperty, ни про window.name я не знал. Thx =) Это сообщение отредактировал(а) dsCode - 18.9.2007, 11:17 |
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
||||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Zeroglif, ух ты... так дотошно в глубь веков (нашего и прошлого;) я не копал... респектище Вашей эрудиции (впрочем, как всегда;)!
Ну а по поводу window.name - оно ведь, похоже, работает более-менее стабильно и единообразно во всех реализациях, включая Оперную? Так что не слишком серьезные вещи (вроде той же позиции скроллинга и т.п.) ему все-таки можно доверить... или могут быть еще какие-нибудь подводные грабли? -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
Возможно, в лучшие годы IE-only и IE-почти-only многие этим и пользовались, но в качестве универсального решения сегодняшнего дня, когда движков больше, их версии меняются, "всем известное поведение" в плане безопасности и стабильности явно проигрывает "документированному поведению". В этом смысле, что navigator.prop=..., что window.name=... - одна фигня... |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |