Как установить разрешение для файлов cookie в браузере? | Центр Поддержки
Если ваш браузер настроен на блокировку сторонних файлов cookie, у вас могут возникнуть проблемы со входом в аккаунт Wix. Включите файлы cookie, чтобы беспрепятственно входить в аккаунт.
Выберите свой браузер ниже, чтобы узнать, как включить файлы cookie:
Google Chrome
- Нажмите значок Еще в правом верхнем углу браузера.
- Нажмите Настройки.
- В разделе Конфиденциальность и безопасность нажмите Настройки сайтов.
- Нажмите Файлы cookie и данные сайтов.
Убедитесь, что опция Разрешить сайтам сохранять и читать файлы cookie включена.
Примечание: если этот параметр отключен, нажмите Заблокировано, чтобы включить его.
Примечание:
- Убедитесь, что блокировка сторонних файлов cookie отключена, если вы используете коллекции контента.
- Для получения дополнительной информации об управлении файлами cookie в Chrome нажмите здесь.
Safari
- Нажмите Safari в строке меню и выберите Настройки.
- Нажмите Конфиденциальность.
- Снимите флажок Блокировать все файлы cookie.
Примечание: убедитесь, что ваша версия Safari поддерживается Wix. Смотреть совместимые браузеры
Mozilla Firefox
- Нажмите на значок меню в правом верхнем углу браузера.
- Нажмите Настройки.
- Выберите панель Приватность и защита слева.
- Выберите Персональная в разделе Улучшенная защита от отслеживания и убедитесь, что Куки не отмечены.
Microsoft Edge
- Нажмите значок Еще в правом верхнем углу и выберите Настройки.
- Выберите вкладку Файлы cookie и разрешения сайтов.
- Нажмите на раздел Управляйте файлами cookie и данными сайта, а также удаляйте их и снимите флажок с пункта Блокировать сторонние файлы cookie.
Примечание: убедитесь, что ваша версия Edge поддерживается Wix. Смотреть совместимые браузеры
Internet Explorer 11
- Нажмите на значок Настройки в правом верхнем углу и выберите Свойства браузера.
- Перейдите во вкладку Конфиденциальность.
- Нажмите кнопку Дополнительно.
- Нажмите Принять в разделе Основные файлы cookie.
- Нажмите Принять в разделе Сторонние файлы cookie.
- Нажмите кнопку OK.
Примечание: как и редактор, и конструктор ADI, Wix больше не поддерживает опубликованные сайты в IE11. Мы рекомендуем использовать обновленный браузер, например Chrome, для просмотра и редактирования сайта Wix. Узнайте больше о совместимости Wix с Internet Explorer.
Cookie ⚡️ Node.js с примерами кода
Cookie-файлы позволяют сохранять на стороне клиента некоторые данные в течении заданного интервала времени, которые при смене страницы или повторном заходе на сайт помогают идентифицировать пользователя и, например, помогают восстановить состояние предыдущей сессии.
Несмотря на то, что сегодня существует достаточно хорошо зарекомендовавшая себя альтернатива в виде локального хранилища (Local Storage), cookie-файлы все еще широко распространены и играют в Интернете важную роль.
Особенности cookie-файлов:
- содержимое полностью открыто и доступно клиенту для просмотра;
- файлы могут быть удалены клиентом, либо заблокированы клиентом в любой момент;
- часто cookie-файлы подделываются злоумышленниками или используются для XSS-атак.
В Node.js cookie управляются двумя методами объекта ответа:
cookie()
— устанавливает значение по ключу;clearCookie()
— удаляет по заданному ключу значение у клиента, если ключ не задан — удаляет все.
Но для работы с ними сперва необходимо установить модуль cookie-parser
, который предоставляет функцию промежуточной обработки для корректной работы cookie в Express.
npm install cookie-parser
Теперь рассмотрим пример использования в Node.js cookie.
app.js
const express = require('express'), app = express(), cookieParser = require('cookie-parser') const host = '127.0.0.1' const port = 7000 app.use(cookieParser('secret key')) app.get('/get-cookie', (req, res) => { console.log('Cookie: ', req.cookies) res.send('Get Cookie') }) app.get('/set-cookie', (req, res) => { res.cookie('token', '12345ABCDE') res.send('Set Cookie') }) app.listen(port, host, () => console.log(`Server listens http://${host}:${port}`) )
Первым параметром функции промежуточной обработки cookie-parser передается секретный ключ, который используется в целях безопасности для шифрования значений файлов перед их отправкой клиенту. Для получения значений cookie с клиента необходимо обратиться к одноименному свойству объекта запроса.
Во время задания значения файла методу cookie()
необязательным третьим параметром можно передать объект настроек со следующими свойствами:
domain
— управляет поддоменами, на которых могут использоваться cookie;path
— описание маршрута, на который распространяется действие cookie;maxAge
— определяет время жизни файла в секундах;secure
— булевое значение, еслиtrue
, то файлы будут отправляться только по протоколуHTTPS
;httpOnly
— булевое значение, установка вtrue
означает, что файлы будут изменяться только сервером;signed
— булевое значение, еслиtrue
, то cookie-файл будет подписан.
res.cookie('token', '12345ABCDE', { maxAge: 3600 * 24, secure: true, })
Подписанные cookie-файлы каждый раз при их чтении проверяются на внесение в них клиентом изменений и если изменения были внесены — сгенерируется ошибка.
Set-Cookie — HTTP | МДН
Заголовок HTTP-ответа Set-Cookie
используется для отправки файла cookie с сервера пользовательскому агенту, чтобы пользовательский агент мог отправить его обратно на сервер позже.
Чтобы отправить несколько файлов cookie, в одном ответе необходимо отправить несколько заголовков Set-Cookie
.
Предупреждение: Браузеры блокируют внешний код JavaScript от доступа к заголовку Set-Cookie
, как того требует спецификация Fetch, которая определяет Set-Cookie
как запрещенное имя заголовка ответа, которое должно быть отфильтровано из любого ответа, доступного внешнему коду.
Для получения дополнительной информации см.
Тип коллектора | Заголовок ответа |
---|---|
Запрещенное имя заголовка | нет |
Запрещенное имя заголовка ответа | да |
Set-Cookie:= Set-Cookie: = ; Домен=<значение домена> Set-Cookie: = ; Истекает=<дата> Set-Cookie: = ; HttpOnly Set-Cookie: = ; Max-Age=<число> Set-Cookie: = ; Разделенный Set-Cookie: = ; Путь=<значение пути> Set-Cookie: = ; Безопасный Set-Cookie: = ; Самесайт=Строгий Set-Cookie: = ; Самесайт=слабый Set-Cookie: = ; Самесайт=Нет; Безопасный // Также возможно несколько атрибутов, например: Set-Cookie: = ; Домен=<значение домена>; Безопасный; HttpOnly
-
<имя файла cookie>=<значение файла cookie>
Определяет имя файла cookie и его значение.
( ) < > @ , ; : \ " / [ ] ? = { }
.Encoding : Многие реализации выполняют кодирование URL-адресов для значений cookie. Однако это не требуется спецификацией RFC. Кодировка URL помогает удовлетворить требования символов, разрешенных для
.Примечание: Некоторые
__Secure-
префикс : Файлы cookie с именами, начинающимися с__Secure-
(тире является частью префикса) должен быть установлен с флагомsecure
с защищенной страницы (HTTPS).__Host-
префикс : Файлы cookie с именами, начинающимися с__Host-
, должны быть установлены с безопасным/
.-
Домен=<значение-домена>
Необязательный Определяет хост, на который будет отправлен файл cookie.
В качестве значения может быть задан только текущий домен или домен более высокого порядка, если только он не является общедоступным суффиксом. Установка домена сделает cookie доступным для него, а также для всех его поддоменов.
В отличие от более ранних спецификаций начальные точки в именах доменов (
.example.com
) игнорируются.Несколько значений хоста/домена , а не разрешены, но если домен указан как , то поддомены всегда включаются.
-
Expires=<дата>
Необязательный Указывает максимальное время жизни файла cookie в виде метки времени HTTP-даты. См.
Дата
для необходимого форматирования.Если не указано, файл cookie становится файлом cookie сеанса . Сеанс завершается, когда клиент выключается, после чего файл cookie сеанса удаляется.
Предупреждение: Многие веб-браузеры имеют функцию восстановления сеанса , которая сохраняет все вкладки и восстанавливает их при следующем использовании браузера. Сеансовые файлы cookie также будут восстановлены, как если бы браузер никогда не закрывался.
Когда установлена дата
Expires
, крайний срок относится к клиенту , на котором устанавливается файл cookie, а не к серверу.-
HttpOnly
Дополнительно Запрещает JavaScript доступ к куки, например, через свойство
Document.cookie
. Обратите внимание, что файл cookie, созданный с помощьюHttpOnly
, по-прежнему будет отправляться с запросами, инициированными JavaScript, например, при вызовеXMLHttpRequest.send()
илиfetch()
. Это снижает вероятность атак на межсайтовый скриптинг (XSS).-
Max-Age=<число>
Дополнительно Указывает количество секунд до истечения срока действия файла cookie. Нулевое или отрицательное число немедленно истечет срок действия файла cookie. Если установлены оба параметра
Expires
иMax-Age
,Max-Age
имеет приоритет.-
Секционированный
Дополнительно Экспериментальный Указывает, что файл cookie следует хранить с использованием секционированного хранилища. Дополнительные сведения см. в разделе Файлы cookie, имеющие независимое состояние разделения (CHIPS).
-
Путь=<значение пути>
Необязательный Указывает путь, который должен существовать в запрошенном URL-адресе, чтобы браузер отправил заголовок
Cookie
.Символ косой черты (
/
) интерпретируется как разделитель каталогов, и подкаталоги также сопоставляются. Например, дляПуть=/docs
,- пути запросов
/docs
,/docs/
,/docs/Web/
и/docs/Web/HTTP
будут совпадать. - пути запросов
/
,/docsets
,/fr/docs
не будут совпадать.
- пути запросов
-
SameSite=<значение того же сайта>
Необязательный Контролирует, отправляется ли файл cookie с межсайтовыми запросами, обеспечение некоторой защиты от атак с подделкой межсайтовых запросов (CSRF).
Возможные значения атрибута:
-
Строгий
означает, что браузер отправляет файл cookie только для запросов того же сайта, то есть запросов, исходящих с того же сайта, который установил файл cookie. Если запрос исходит из другого домена или схемы (даже из того же домена), файлы cookie с атрибутом
SameSite=Strict
не отправляются.-
Лакс
означает, что файл cookie не отправляется при межсайтовых запросах, таких как запросы на загрузку изображений или кадров, а отправляется, когда пользователь переходит на исходный сайт с внешнего сайта (например, при переходе по ссылке). Это поведение по умолчанию, если атрибут
SameSite
не указан.-
Нет
означает, что браузер отправляет файл cookie как с межсайтовыми запросами, так и с запросами одного и того же сайта.
Атрибут Secure
также должен быть установлен при установке этого значения, например,SameSite=None; Безопасность
Примечание: Стандарты, относящиеся к файлам cookie SameSite, недавно изменились, например:
- Поведение при отправке файлов cookie, если
SameSite
не указано, равноSameSite=Lax
. Ранее файлы cookie отправлялись для всех запросов по умолчанию. - Файлы cookie с
SameSite=None
теперь также должны указыватьАтрибут Secure
(другими словами, для них требуется безопасный контекст). - Файлы cookie с того же домена больше не считаются файлами с того же сайта, если они отправляются с использованием другой схемы (
http:
илиhttps:
).
Информацию о конкретной реализации браузера см. в таблице совместимости браузеров (строки: «
SameSite
: по умолчаниюLax
», «SameSite
: требуется безопасный контекст» и «SameSite
: URL-схема с поддержкой («схематическая»)).-
-
Безопасный
Дополнительно Указывает, что cookie отправляется на сервер только при выполнении запроса по схеме
https:
(кроме localhost), а значит, более устойчив к атакам «человек посередине».Примечание: Не думайте, что
Secure
предотвращает любой доступ к конфиденциальной информации в файлах cookie (сеансовые ключи, данные для входа и т. д.). Файлы cookie с этим атрибутом по-прежнему могут быть прочитаны/изменены либо с доступом к жесткому диску клиента, либо с помощью JavaScript, еслиHttpOnly
Атрибут файла cookie не установлен.Небезопасные сайты (
http:
) не могут устанавливать файлы cookie с атрибутомSecure
(начиная с Chrome 52 и Firefox 52). Для Firefox требованияhttps:
игнорируются, когда атрибутSecure
установлен локальным хостом (начиная с Firefox 75).
Сеансовые файлы cookie
Сеансовые файлы cookie удаляются при завершении работы клиента. Файлы cookie являются файлами cookie сеанса, если они не определяют Истекает
или Max-Age
атрибут.
Set-Cookie: sessionId=38afes7a8
Постоянный файл cookie
Постоянный файл cookie удаляется в определенную дату ( Expires
) или по истечении определенного периода времени ( Max-Age
), а не при закрытии клиента.
Set-Cookie: id=a3fWa; Истекает=ср, 21 октября 2015 г., 07:28:00 по Гринвичу
Set-Cookie: id=a3fWa; Максимальный возраст = 2592000
Недействительные домены
Файл cookie для домена, который не включает сервер, установивший его, должен быть отклонен пользовательским агентом.
Следующий файл cookie будет отклонен, если он установлен сервером, размещенным на originalcompany.com
:
Set-Cookie: qwerty=219ffwef9w0f; Домен = somecompany.co.uk
Файл cookie для поддомена обслуживающего домена будет отклонен.
Следующий файл cookie будет отклонен, если он установлен сервером, размещенным на example.com
:
Set-Cookie: sessionId=e8bb43229de9; Домен=foo.example.com
Префиксы файлов cookie
Имена файлов cookie с префиксом __Secure-
или __Host-
можно использовать, только если они установлены с атрибутом secure
из защищенного источника (HTTPS).
Кроме того, файлы cookie с префиксом __Host-
должны иметь путь /
(то есть любой путь на хосте) и не должны иметь атрибут Домен
.
Предупреждение: Для клиентов, которые не реализуют префиксы файлов cookie, вы не можете рассчитывать на эти дополнительные гарантии, и файлы cookie с префиксами всегда будут приниматься.
// Оба принимаются из безопасного источника (HTTPS) Set-Cookie: __Secure-ID=123; Безопасный; Домен=example.com Set-Cookie: __Host-ID=123; Безопасный; Путь=/ // Отклонено из-за отсутствия безопасного атрибута Set-Cookie: __Secure-id=1 // Отклонено из-за отсутствия атрибута Path=/ Set-Cookie: __Host-id=1; Безопасный // Отклонено из-за установки домена Set-Cookie: __Host-id=1; Безопасный; Путь=/; Домен=example. com
Сегментированный файл cookie
Set-Cookie: __Host-example=34d8g; Самесайт=Нет; Безопасный; Путь=/; Разделенный;
Примечание: Сегментированные файлы cookie должны быть установлены с Secure
и Path=/
. Кроме того, рекомендуется использовать префикс __Host
при настройке разделенных файлов cookie, чтобы они были привязаны к имени хоста, а не к регистрируемому домену.
Спецификация | |
---|---|
Механизм управления состоянием HTTP # sane-set-cookie |
Тип коллектора | Заголовок ответа |
---|---|
Запрещенное имя заголовка | № |
Запрещенное имя заголовка ответа | да |
Синтаксис
Set-Cookie:= Set-Cookie: = ; Истекает=<дата> Set-Cookie: = ; Max-Age=<ненулевая цифра> Set-Cookie: = ; Домен=<значение домена> Set-Cookie: = ; Путь=<значение пути> Set-Cookie: = ; Безопасный Set-Cookie: = ; HttpOnly Set-Cookie: = ; Самесайт=Строгий Set-Cookie: = ; Самесайт=слабый Set-Cookie: = ; СамеСите=Нет // Также возможно несколько атрибутов, например: Set-Cookie: = ; Домен=<значение домена>; Безопасный; HttpOnly
Атрибуты
-
<имя файла cookie>=<значение файла cookie>
- Файл cookie начинается с пары «имя-значение»:
- A
( ) < > @ , ; : \ " / [ ] ? = { }
. -
. -
__Secure-
префикс : Имена файлов cookie, начинающиеся с__Secure-
(тире является частью префикса), должны быть установлены с флагомsecure
с защищенной страницы (HTTPS). -
__Хост- 9Префикс 0005
: файлы cookie с именами, начинающимися с__Host-
, должны быть установлены с флагомsecure
, должны быть с защищенной страницы (HTTPS), не должны иметь указанного домена (и, следовательно, не должны отправляться на поддомены) и путь должен быть/
.
- A
-
Expires=<дата>
Необязательный Максимальное время жизни файла cookie в виде отметки времени HTTP-даты. См.
Дата
для необходимого форматирования.Если не указано, файл cookie становится сеансовый файл cookie . Сеанс завершается, когда клиент выключается, и файлы cookie сеанса удаляются.
Предупреждение: Многие веб-браузеры имеют функцию восстановления сеанса , которая сохраняет все вкладки и восстанавливает их при следующем использовании браузера. Сеансовые файлы cookie также будут восстановлены, как если бы браузер никогда не закрывался.
Когда установлена дата истечения срока действия, крайний срок относится к клиенту , на котором устанавливается файл cookie, а не к серверу.
-
Max-Age=<число>
Дополнительно - Количество секунд до истечения срока действия файла cookie. Нулевое или отрицательное число немедленно истечет срок действия файла cookie. Если установлены оба параметра
Expires
иMax-Age
,Max-Age
имеет приоритет. -
Домен=<значение-домена>
Необязательный - Хост, на который будет отправлен файл cookie.
- Если опущено, по умолчанию используется хост текущего URL-адреса документа, не включая субдомены.
- В отличие от более ранних спецификаций начальные точки в именах доменов (
.example.com
) игнорируются. - Несколько значений хоста/домена , а не разрешены, но если домен указан как , то поддомены всегда включаются.
-
Путь=<значение пути>
Необязательный - Путь, который должен существовать в запрошенном URL-адресе, иначе браузер не отправит заголовок
Cookie
. - Косая черта (
/
) символ интерпретируется как разделитель каталогов, и подкаталоги также будут сопоставляться: дляPath=/docs
,/docs
,/docs/Web/
и/docs/Web/HTTP
все совпадет. -
Безопасный
Дополнительно - Защищенный файл cookie отправляется на сервер только при выполнении запроса по схеме
https:
. (Однако конфиденциальная информация никогда не должна храниться в файлах cookie HTTP, так как весь механизм по своей сути небезопасен и не шифрует никакую информацию.)Примечание. Небезопасные сайты (
http:
) не могут устанавливать файлы cookie с атрибутомSecure
(начиная с Chrome 52 и Firefox 52). -
HttpOnly
Дополнительно - Запрещает JavaScript доступ к куки, например, через свойство
Document.cookie
. Обратите внимание, что файл cookie, созданный с помощью HttpOnly, по-прежнему будет отправляться с запросами, инициированными JavaScript, например. при вызовеXMLHttpRequest.send()
иливыборка()
. Это снижает вероятность атак на межсайтовый скриптинг (XSS). -
SameSite=<значение того же сайта>
Необязательный -
Строгий
: Браузер отправляет файл cookie только для запросов с того же сайта (то есть запросов, исходящих с того же сайта, на котором установлен файл cookie). Если запрос исходит от URL-адреса, отличного от текущего, файлы cookie с атрибутомSameSite=Strict
не отправляются. -
Lax
: Файл cookie удерживается при межсайтовых подзапросах, таких как запросы на загрузку изображений или фреймов, но отправляется, когда пользователь переходит по URL-адресу с внешнего сайта, например, перейдя по ссылке. -
Нет
: Браузер отправляет файл cookie как с межсайтовыми, так и с односайтовыми запросами.
Утверждает, что файл cookie не должен отправляться с запросами из разных источников, что обеспечивает некоторую защиту от атак с подделкой межсайтовых запросов (CSRF).
Браузеры мигрируют, чтобы файлы cookie по умолчанию имели значение
SameSite=Lax
. Если для отправки файла cookie из другого источника необходимо отказаться от ограниченияSameSite
, используя значениеNone
.Нет Значение
требует атрибутаSecure
.-
Примеры
Файл cookie сеанса
Файлы cookie сеанса удаляются при завершении работы клиента. Файлы cookie являются файлами cookie сеанса, если в них не указаны атрибуты Expires
или Max-Age
.
Set-Cookie: sessionId=38afes7a8
Постоянный файл cookie
Вместо того, чтобы истечь при закрытии клиента, постоянных куки истекают в определенную дату ( Expires
) или по истечении определенного периода времени ( Max-Age
).
Set-Cookie: id=a3fWa; Истекает=ср, 21 октября 2015 г., 07:28:00 по Гринвичу
Set-Cookie: id=a3fWa; Максимальный возраст=2592000
Недействительные домены
Файл cookie для домена, который не включает сервер, установивший его, должен быть отклонен пользовательским агентом.
Следующий файл cookie будет отклонен, если он установлен сервером, размещенным на originalcompany. com
:
Set-Cookie: qwerty=219ffwef9w0f; Домен = somecompany.co.uk
Файл cookie для поддомена обслуживающего домена будет отклонен.
Следующий файл cookie будет отклонен, если он установлен сервером, размещенным на example.com
:
Set-Cookie: sessionId=e8bb43229de9; Домен=foo.example.com
Префиксы файлов cookie
Имена файлов cookie с префиксом __Secure-
или __Host-
можно использовать, только если они установлены с атрибутом secure
из защищенного (HTTPS) источника.
Кроме того, файлы cookie с префиксом __Host-
должны иметь путь /
(то есть любой путь на хосте) и не должны иметь атрибут Домен
.
Для клиентов, которые не реализуют префиксы файлов cookie, вы не можете рассчитывать на эти дополнительные гарантии, и файлы cookie с префиксом всегда будут приниматься.
// Оба принимаются из защищенного источника (HTTPS) Set-Cookie: __Secure-ID=123; Безопасный; Домен=example. com Set-Cookie: __Host-ID=123; Безопасный; Путь=/ // Отклонено из-за отсутствия безопасного атрибута Set-Cookie: __Secure-id=1 // Отклонено из-за отсутствия атрибута Path=/ Set-Cookie: __Host-id=1; Безопасный // Отклонено из-за установки домена Set-Cookie: __Host-id=1; Безопасный; Путь=/; Домен=example.com
Технические характеристики
Спецификация | Титул |
---|---|
RFC 6265, раздел 4.1: Set-Cookie | Механизм управления состоянием HTTP |
проект-ietf-httpbis-rfc6265bis-05 | Префиксы файлов cookie, файлы cookie того же сайта и файлы cookie строгой безопасности |
Совместимость с браузером
Таблица совместимости на этой странице создана из структурированных данных. Если вы хотите внести свой вклад в данные, посетите https://github.com/mdn/browser-compat-data и отправьте нам запрос на включение.