Domstore internet explorer что это
Как отключить новый вид Cookie называемым Dom Storage (Web storage)
С определенного времени в веб-браузерах появилась некая новая форма куков (Cookie). Это не совсем куки, но цели те же, а именно хранение данных. Называется этот метод «Dom Storage» (Web Storage). Под понятием Dom понимают «объектную модель документа». Этот новый тип хранения данных появился в Firefox, начиная со второй версии, и в Internet Explorer 8. Согласно различным источникам, Dom хранилища так же доступны в Safari 4+, Google Chrome 4+ и Opera 10.50+. Элементы такого хранилища могут хранить значительно больше информации, нежели обычные куки. С одной стороны это интересное нововведение, с другой стороны отсутствие единого стандарта и обширного тестирования пользователями на наличие проблем хранения и безопасности использования. Так что если для вас конфиденциальность на первом месте, то поддержку такого хранилища можно отключить следующими способами.
Как отключить Web storage (Dom storage) в Internet Explorer 8
Узнать подробнее о Dom Storage в IE8 вы можете в хэлпе Microsoft.
Как отключить Web storage (Dom storage) в Firefox 3 и выше
В Firefox так же можно отключить поддержку Dom Storage, для этого вам необходимо отредактировать конфигурационный файл следующим образом:
Вы так же можете использовать специальное расширение для FireFox, о котором шла речь в статье о флэш-куках. Кроме управления флэш куками, это расширение так же предусматривает отключение Dom Storage без необходимости редактировать файл конфигурации Firefox.
Более подробную информацию о DOM Storage в Firefox можно найти здесь.
☕ Хотите выразить благодарность автору? Поделитесь с друзьями!
Поддержка HTML 5 DOM Storage
Необходимость
Пример
Простейший пример работы с localStorage, данные сохраняются и достаются из хранилища:
…
sessionStorage.someDataKeyName = ‘данные’;
…
var data = sessionStorage.someDataKeyName;
…
Обратите внимание, что создавать и получать доступ к данным в хранилищах DOM Storage можно не только через индексаторы типа sessionStorage[ ‘ someDataKeyName ‘ ], но и через псевдосвойства. Первая попытка записать данные в такое свойство создаст его экземпляр в хранилище.
Данные объекта window.localStorage могут быть доступны как для субдомена так и для родительского домена, скажем следующий пример при работе с доменом test.example.com сработает:
…
var someStorage = localStorage[‘элемент example.com’];
…
Однако, к другим субдоменам test.example.com доступа не имеет, следующий пример для контекста test.example.com неверный:
…
var someStorage = localStorage[‘элемент mail.example.com’];
…
Заключение
В этой статье я постарался рассмотреть относительно новый механизм DOM Storage, который является частью HTML 5 полностью поддерживается Internet Explorer 8. К сожалению, еще не все браузеры поддерживают DOM Storage, так например поддержка отсутствует у браузеров Chrome и Opera. Это в некоторой мере мешает распространению технологии, которая может стать очень полезной при разработке клиентских web-страниц с богатым функционалом.
DOM Storage помогает работать с данными на стороне клиента и приходит на смену механизму cookie, используемому для этих целей ранее. Снимая ограничения определенные механизмом cookie, DOM Storage предлагает не менее простой и эффективный способ хранения данных.
Записи реестра зон безопасности Internet Explorer для продвинутых пользователей
Приложение Internet Explorer 11 для ПК будет выведено из использования и снято с поддержки 15 июня 2022 г. (список других вопросов, см. в разделе Вопросы и ответы). Те же приложения и сайты IE11, которые вы используете сегодня, могут открываться в Microsoft Edge режиме Internet Explorer. Подробнее см. здесь.
В этой статье описывается, как и где зоны безопасности Internet Explorer и параметры конфиденциальности хранятся и управляются в реестре. Для установки зон безопасности и параметров конфиденциальности можно использовать групповую политику или набор администрирования Microsoft Internet Explorer (IEAK).
Оригинальная версия продукта: Internet Explorer 9, Internet Explorer 10
Исходный номер КБ: 182569
Параметры конфиденциальности
Internet Explorer 6 и более поздние версии добавили вкладку Конфиденциальность, чтобы пользователи больше контролировали файлы cookie. Эта вкладка (выберите Инструменты, а затем выберите параметры Интернета) обеспечивает гибкость для блокировки или допуска файлов cookie, основанных на веб-сайте, с помощью файла cookie или типа cookie. Типы файлов cookie включают в себя файлы cookie первой стороны, сторонние файлы cookie и файлы cookie, которые не имеют компактной политики конфиденциальности. Эта вкладка также включает в себя параметры управления запросами веб-сайтов на физические данные о расположении, возможность блокировать всплывающие всплывающие окантовки, а также возможность запуска панели инструментов и расширений при включенной возможности просмотра InPrivate.
В зоне Интернета существуют различные уровни конфиденциальности, и они хранятся в реестре в том же месте, что и зоны безопасности.
Вы также можете добавить веб-сайт, чтобы включить или заблокировать файлы cookie на основе веб-сайта, независимо от политики конфиденциальности на веб-сайте. Эти ключи реестра хранятся в следующем подкайке реестра:
Домены, добавленные в качестве управляемого сайта, перечислены в этом подкайке. Эти домены могут выполнять любой из следующих значений DWORD:
Параметры зоны безопасности
Для каждой зоны пользователи могут управлять обработкой элементов с повышенным риском, таких как ActiveX, скачивания и скрипты. Параметры зон безопасности Internet Explorer хранятся в следующих подкайлах реестра:
Эти клавиши реестра содержат следующие клавиши:
По умолчанию параметры зон безопасности хранятся в HKEY_CURRENT_USER подтрибунии реестра. Поскольку этот подтриб динамически загружается для каждого пользователя, параметры для одного пользователя не влияют на параметры другого пользователя.
Если **** в групповой политике включены только параметры параметров машин, или если значение DWORD присутствует и имеет значение 1 в следующем подкайке реестра, используются только локальные параметры компьютера и все пользователи имеют одинаковые параметры Security_HKLM_only безопасности:
С Security_HKLM_only включенной политикой значения HKLM будут использоваться internet Explorer. Однако значения HKCU по-прежнему будут отображаться в параметрах зоны на вкладке Безопасность в Internet Explorer. В Internet Explorer 7 вкладка Безопасности диалогового окна «Параметры Интернета» отображает следующее сообщение, в соответствии с которым параметры управляются **** системным администратором:
Некоторые параметры управляются системным администратором Если **** в групповой политике не включены только параметры параметров компьютера, или если значение DWORD не существует или задаёт Security_HKLM_only значение 0, параметры компьютера используются вместе с пользовательскими настройками. Однако в Параметры Интернета отображаются только параметры пользователя. Например, если это значение DWORD не существует или установлено до 0, параметры читают вместе с настройками, но только параметры отображаются в HKEY_LOCAL_MACHINE HKEY_CURRENT_USER HKEY_CURRENT_USER Параметры Интернета.
TemplatePolicies
Ключ TemplatePolicies определяет параметры уровней зоны безопасности по умолчанию. Эти уровни являются низкими, средними, средними и высокими. Параметры уровня безопасности можно изменить из параметров по умолчанию. Однако вы не можете добавить дополнительные уровни безопасности. Клавиши содержат значения, которые определяют параметр для зоны безопасности. Каждый ключ содержит строковое значение Description и строку Display Name, определяя текст, который отображается на вкладке Безопасность для каждого уровня безопасности.
ZoneMap
Ключ ZoneMap содержит следующие клавиши:
Ключ Domains содержит домены и протоколы, добавленные для изменения поведения по умолчанию. При добавлении домена в ключ добавляется Domains ключ. Subdomains отображаются в качестве ключей в домене, где они принадлежат. Каждый ключ, в который перечислены домены, содержит DWORD со значением имени затронутого протокола. Значение DWORD такое же, как и численное значение зоны безопасности, в которой добавлен домен.
Ключ напоминает ключ Домены, за исключением того, что ключ применяется к протоколам, на которые влияет расширенная конфигурация безопасности EscDomains Internet Explorer EscDomains (IE ESC). IE ESC представлен в Microsoft Windows Server 2003 и применяется только к операционным системам сервера.
Ключ указывает зону безопасности по умолчанию, которая используется для определенного протокола ProtocolDefaults (ftp, http, https). Чтобы изменить параметр по умолчанию, можно либо добавить протокол **** в зону безопасности, выбрав добавить сайты на вкладке Безопасность, либо добавить значение DWORD под **** ключом Domains. Имя значения DWORD должно соответствовать имени протокола, и оно не должно содержать двоеточий (:) или слэш (/).
Ключ также содержит значения DWORD, которые указывают зоны безопасности по ProtocolDefaults умолчанию, в которых используется протокол. Вы не можете использовать элементы управления на вкладке Безопасность для изменения этих значений. Этот параметр используется, когда определенный веб-сайт не падает в зону безопасности.
Ключ Ranges содержит диапазоны TCP/IP-адресов. Каждый диапазон TCP/IP, который вы указываете, отображается в произвольно именоваемом ключе. Этот ключ содержит :Range строковую величину, которая содержит указанный диапазон TCP/IP. Для каждого протокола добавляется значение DWORD, содержаще числовые значения зоны безопасности для указанного диапазона IP.
Если файл Urlmon.dll использует общественную функцию MapUrlToZone для решения определенного URL-адреса в зону безопасности, он использует один из следующих методов:
Если URL-адрес содержит полное доменное имя (FQDN), ключ Домены обрабатывается.
В этом методе точное совпадение сайта переопределяет случайное совпадение.
Если URL-адрес содержит IP-адрес, Ranges ключ обрабатывается. IP-адрес URL-адреса сравнивается со значением, которое содержится в произвольно именуемом ключе :Range под Ranges ключом.
Так как произвольно названные ключи обрабатываются в порядке их добавления в реестр, этот метод может найти случайный совпадение, прежде чем он найдет совпадение. Если этот метод сначала находит случайный совпадение, URL-адрес может быть выполнен в другой зоне безопасности, чем в обычно назначенной зоне. Такое поведение является особенностью данного продукта.
Ключ содержит ключи, которые представляют каждую зону безопасности, которая Zones определена для компьютера. По умолчанию определяются следующие пять зон (от нуля до четырех):
По умолчанию мой компьютер не появляется в поле Zone на вкладке Безопасность, так как он заблокирован, чтобы повысить безопасность.
Каждый из этих ключей содержит следующие значения DWORD, которые представляют соответствующие параметры на настраиваемой вкладке Security.
Если не указано обратное, каждое значение DWORD равно нулю, одному или трем. Как правило, параметр ноль задает определенное действие, как это разрешено, параметр одного вызывает запрос, а параметр три запрещает конкретное действие.
Заметки о 1200, 1A00, 1A10, 1E05, 1C00 и 2000
Следующие два записи реестра влияют на возможность ActiveX элементов управления в определенной зоне:
Заметки о 1A02, 1A03, 1A05 и 1A06
Следующие четыре записи реестра вступает в силу только в том случае, если присутствуют следующие клавиши:
Эти записи реестра находятся в следующем подкайке реестра:
В этом подмышке реестра находится зона, например 0 (ноль). Запись реестра и запись реестра содержат параметр, утвержденный 1200 2000 администратором. При включении этого параметра значение для определенной записи реестра устанавливается до 00010000. При включении утвержденного параметра администратора Windows ниже подкайку реестра, чтобы найти список утвержденных элементов управления:
Параметр Logon (1A00) может иметь одно из следующих значений (hexadecimal):
Конфиденциальность Параметры (1A10) используется слайдером вкладки Конфиденциальность. Значения DWORD являются следующими:
Блокировка всех файлов cookie: 00000003
High: 00000001
Средний уровень: 00000001
Medium: 00000001
Низкий: 00000001
Прием всех файлов Cookie: 00000000
Параметр Разрешения Java (1C00) имеет следующие пять возможных значений (двоичный):
Если выбран Настраиваемый параметр, он использует <7839DA25-F5FE-11D0-883B-0080C726DCBB>(расположенный в том же месте реестра) для хранения настраиваемой информации в двоичном файле.
Каждая зона безопасности содержит значение строки Описание и строку Display Name. Текст этих значений отображается на вкладке Безопасность при выборе зоны в поле Zone. Существует также значение строки Icon, которое задает значок, который отображается для каждой зоны. За исключением зоны «Мой компьютер», каждая зона содержит CurrentLevel значение И MinLevel RecommendedLevel DWORD. Значение задает самый низкий параметр, который можно использовать перед получением предупреждения, это текущий параметр для зоны и рекомендуемый MinLevel CurrentLevel уровень RecommendedLevel для зоны.
Значение DWORD определяет способность пользователя изменять свойства Flags зоны безопасности. Чтобы определить Flags значение, добавьте вместе номера соответствующих параметров. Доступны следующие Flags значения (десятичная):
Если вы добавляете параметры как к E, так и к HKEY_LOCAL_MACHIN HKEY_CURRENT_USER подтриям, эти параметры являются дополнительными. Если вы добавляете веб-сайты к обоим подтрибам, видны только те HKEY_CURRENT_USER веб-сайты в них. Веб-сайты в HKEY_LOCAL_MACHINE подтриуме по-прежнему применяются в соответствии с их настройками. Однако они недоступны, и изменить их невозможно. Эта ситуация может привести к путанице, так как веб-сайт может быть указан только в одной зоне безопасности для каждого протокола.
Ссылки
Дополнительные сведения об изменениях функциональных возможностей в Microsoft Windows XP Пакет обновления 2 (SP2) см. на следующем веб-сайте Microsoft:
Дополнительные сведения о зонах безопасности URL-адресов можно получить на следующем веб-сайте Microsoft:
Дополнительные сведения об изменении параметров безопасности Internet Explorer можно найти на следующем веб-сайте Microsoft:
Дополнительные сведения о блокировке локальной компьютерной зоны Internet Explorer можно получить на следующем веб-сайте Microsoft:
Дополнительные сведения о значениях, связанных с действиями, которые могут быть приняты в зоне безопасности URL-адреса, см. в статью URL-адрес Action Flags.
Знакомство с расширенными возможностями DOM IE9
Для четвертого предварительного выпуска платформы IE9 был значительно перестроен способ, которым подсистема Chakra JavaScript интегрирована в IE. Это перепроектирование, описанное в публикации Dean (Дина), слегка изменяет модель программирования DOM для режима стандартов IE9, обеспечивая ее совместимость с новыми возможностями ECMAScript 5, большую степень взаимодействия с другими браузерами и соответствие новым стандартам (WebIDL).
В этой публикации планируется подробно рассмотреть некоторые из изменений модели программирования. С преимуществами этих усовершенствованных возможностей модели DOM можно ознакомиться в последнем предварительном выпуске платформы. Чтобы подчеркнуть эти изменения, я сошлюсь на демонстрационную страницу усовершенствованных возможностей модели DOM, которая создана для четвертого предварительного выпуска платформы.
В этой демонстрации тестируются 24 возможности, которые разделяются на 4 основные категории:
Первые две категории тесно связаны, поэтому рассмотрим их вместе.
Наследование объекта модели DOM от собственных объектов JavaScript и функциональная согласованность JavaScript с объектами модели DOM.
До IE9 подсистема JavaScript связывалась с моделью DOM посредством механизма классических привязок модели COM. Эти устаревшие привязки допустимы только для примитивного представления объектов и функций модели DOM в подсистеме JavaScript. Следовательно, множество основных функциональных возможностей JavaScript, которые, по ожиданиям разработчиков, должны были быть доступными для всех объектов и функций (включая такие объекты модели DOM, как Window, Document, NodeList и др.), на самом деле были доступны только для собственных объектов JavaScript (таких как Array, Number и пр.).
Стандарт ECMAScript устанавливает основные операции, которые должны работать одинаково во всех объектах JavaScript, но разрешает «базовым объектам» отклонение от этих стандартных установок. Старая подсистема JavaScript в IE воспринимала объекты модели DOM как «базовые объекты», что означает, что основные операции JavaScript, такие как доступ к свойствам, могли вести себя странно. Будучи разрешенным ECMAScript, несогласованное поведение объектов модели DOM и объектов JavaScript создавало трудности отвечающим за них веб-разработчикам.
Например, один из наиболее распространенных вопросов для многих веб-разработчиков состоял в том, почему функции IE DOM возвращались в оператор JavaScript typeof как «объект», а не как «функция» (эта возможность специально проверялась в части #10 демонстрационной версии).
В стандартном режиме IE модель DOM построена как собственные объекты и функции JavaScript, а не как «базовые объекты», что обеспечивает доступность тех функциональных возможностей, которые веб-разработчики ожидают от собственных объектов.
Программные компоненты с возможностью взаимодействия
Третья группа возможностей демонстрирует уникальное поведение модели программирования IE, которое обычно вызывает трудности у веб-разработчиков. Поскольку это поведение существовало только в модели программирования IE, веб-разработчики обнаруживали, что их код не работает одинаково в разных браузерах.
В качестве части новой архитектуры интеграции было удалено множество несоответствий, мешающих одному и тому же скрипту работать одинаково в разных браузерах. Эта модель программирования может привести к тому, что сайты, имеющие специальный код, созданный для IE, в IE9 будут вести себя иначе, чем раньше. Следовательно, имеет смысл описать эти изменения более глубоко.
Функции теперь являются перечисляемыми
В IE8 и более ранних версиях перечисление объекта модели DOM не касалась каких-либо функций-членов объекта модели DOM. В IE9 теперь перечисляются все свойства объекта модели DOM, дескриптор «enumerable» которого установлен в значение «true». (Другими словами, перечисление может быть изменено программно.) Теперь функции являются перечисляемыми по умолчанию для обеспечения совместимости с другими браузерами.
Удален неявный вызов функций
Функции модели DOM в предыдущих версиях IE были довольно нестандартными. Они не только выглядели как typeof объекта, но также сохраняли статическое значение «this», ссылающееся на объект, которому эти функции принадлежат. Следовательно, было возможно кэшировать ссылку на функцию модели DOM и вызывать ее без явной передачи значения «this»:
// Работает в IE8 и предыдущих версиях
// Не работает в IE9 и в других браузерах
var cachedGetElementById = document.getElementById;
В IE9 это теперь будет вызывать исключение, как происходит в других браузерах. В коде, который ранее зависел от этого поведения IE, можно использовать обходной прием «.call»:
// Работает в IE8/IE9 и в других браузерах
// Не работает в IE7 и в предыдущих версиях
var cachedGetElementById = document.getElementById;
В ECMAScript 5 для функций существует метод «bind», позволяющий им не отвергать особенности программирования, ранее поддерживавшиеся IE:
// Исходно работает в IE9 благодаря «привязанному» API ECMAScript 5
var cachedGetElementById = document.getElementById.bind(document);
Поддержка исключений и «константных» свойств модели DOM
В усовершенствованной модели DOM IE9 теперь имеются обусловленные W3C объекты и стандартизованные коды ошибок исключений модели DOM, которые веб-разработчики могут использовать для определения (в целом) природы сбоя API модели DOM. Эти коды обычно сравниваются со строго определенными «константными» свойствами, чтобы повысить удобочитаемость кода:
if (ex.code == DOMException.INDEX_SIZE_ERR)
Усовершенствованная модель DOM предоставляет предварительно определенные «константные» свойства, а также архитектуру для вызова и перехвата исключений модели DOM.
Целостное поведение toString
При полной интеграции Chakra и модели DOM в последней отсутствует собственная реализация toString (функции, преобразующей любой объект в строку). Хотя в старой модели DOM реализация toString была аналогична встроенной версии JavaScript, она не была абсолютно такой же и часто приводила к непоследовательным или запутанным результатам. Объекты модели DOM в IE9 теперь наследуют и используют встроенную в JavaScript функцию toString для получения стандартного результата.
Разделение хранилища свойств и атрибутов
В предыдущей архитектуре объекты модели DOM имели свое собственное хранилище свойств. Это хранилище свойств совпадало с расположением хранилища для атрибутов (которые можно найти в разметке HTML). В новой архитектуре IE9 хранилище атрибутов элементов отделено от динамических свойств, назначаемых объекту скрипта элемента. Чтобы проиллюстрировать это разделение, рассмотрим следующий пример разметки:
В этом примере атрибутами являются «id», «class» и «user-defined-attribute». Объект JavaScript элемента div также предоставляет аналогичные свойства:
// Получение объекта JavaScript, представляющего тело
var divOb = document.getElementById(‘myId’);
Эти свойства JavaScript извлекают значения, хранящиеся в списке атрибутов элемента. Например, «id» извлекает значение атрибута «id», а «className» извлекает значение атрибута «class».
В предыдущих версиях IE любые динамически добавленные свойства могли «волшебным образом» появляться в списке атрибутов элемента и, наоборот, исчезать из-за общего расположения хранилища. Это могло приводить к непредсказуемым результатам:
var divOb = document.getElementById(«myId»);
// Следующий оператор неожиданно добавляет «userProperty» как
alert(«Total attributes = » + divOb.attributes.length);
IE9 и другие браузеры сигнализируют о трех общих атрибутах («id», «class» и «user-defined-attribute»), в то время как предыдущие версии IE сигнализируют о четырех атрибутах, добавляя в список «userProperty». Обратный пример является более распространенным – код, который ожидает появления пользовательских атрибутов в качестве динамических свойств:
var divOb = document.getElementById(«myId»);
// Получение значения «userAttribute» и «user-defined-attribute»
// (работает только в IE8 и в предыдущих версиях)
var value1 = divOb.userAttribute;
Мы видели часть кода, в которой предполагается данное устаревшее поведение IE. Обеспечивающий взаимодействие способ получения неизвестных атрибутов состоит в использовании «getAttribute»
var value2 = divOb.getAttribute(«user-defined-attribute»);
В таком случае не следует запрашивать динамические свойства с помощью коллекции атрибутов.
Новые возможности ECMAScript 5
В последней группе тестов возможностей новые функциональные возможности, предоставляемые реализацией ECMAScript 5 в Chakra, применялись к модели DOM. Одна из основных целей усовершенствования модели DOM в IE9 состояла в обеспечении представления модели DOM, что вносило логический смысл в контекст семантики языка ECMAScript 5. Это было сделано гораздо проще, поскольку одной из основных целей ECMAScript 5 является улучшенная поддержка функциональных возможностей, необходимых объектам модели DOM! В нашей реализации мы представляли, что модель DOM использует максимально возможное количество собственных возможностей языка ECMAScript 5, включая широкое использование свойств метода доступа (getter/setter).
Благодаря этой интеграции платформенной функциональности все новые функциональные возможности ECMAScript5 работают одинаково хорошо как с собственными объектами, так и с объектами модели DOM.
В демонстрации усовершенствованных возможностей модели DOM показываются только 24 примера того, что становится возможным при полной интеграции модели DOM и подсистемы JavaScript с поддержкой ECMAScript 5, такой как Chakra. Мы весьма заинтересованы в этой поддержке в IE9 и планируем помочь в достижении лучшего взаимодействия для привязок языка ECMAScript в разных браузерах. Важным этапом является стандартизация этих привязок в консорциуме W3C, и мы будем рады внести свой вклад в эту работу.
Веб-стандарты консорциума W3C уже имеют предложение реализаций языковой привязки для ECMAScript как способа перевода стандартного IDL (языка определения интерфейса) в объекты JavaScript. Однако этим привязкам не хватало некоторых деталей для создания чего-то большего, чем простая привязка «базового объекта» (т.е. привязка без учета полного спектра функциональных возможностей языка ECMAScript). Поскольку другие браузеры имели гораздо более полные языковые привязки, чем просто «базовые объекты», несоответствия интеграции сохранялась. Эти несоответствия могут фактически расстроить планы разработчиков на платформе JavaScript, желающих писать абстрактные слои и функции на верхнем уровне базовой языковой поддержки. Эта необходимость соответствия привела к предложенному стандарту, названному WebIDL (язык определения веб-интерфейса). Спецификация WebIDL с гораздо большей точностью описывает порядок перевода имеющейся спецификации W3C, созданной с помощью WebIDL, в объекты JavaScript.
В следующем сообщении будет дано более подробное описание того, как мы использовали WebIDL для информационной поддержки и руководства разработкой расширенной модели DOM в IE9.
Просим вас протестировать расширенную модель DOM IE9. Ждем ваших комментариев и отзывов.