# Ограничения cookie в Spaces

В Hugging Face Spaces приложениям накладываются определённые ограничения при использовании cookie. Это обусловлено в первую очередь структурой страниц Spaces (`https://huggingface.co/spaces/<user>/<app>`), которые содержат приложения, размещённые на другом домене (`*.hf.space`) внутри iframe. По соображениям безопасности современные браузеры, как правило, ограничивают использование cookie со страниц iframe, размещённых на домене, отличном от домена родительской страницы.

## Влияние на хостинг приложений Streamlit с использованием Docker SDK

Один из случаев, когда ограничения на использование cookie становятся проблематичными, — это хостинг приложений Streamlit с использованием Docker SDK. По умолчанию Streamlit включает защиту от XSRF на основе cookie. В результате некоторые компоненты, отправляющие данные на сервер, например `st.file_uploader()`, будут работать некорректно на HF Spaces, где использование cookie ограничено.

Чтобы обойти эту проблему, необходимо установить опцию `server.enableXsrfProtection` в Streamlit в значение `false`. Это можно сделать двумя способами:

1. Аргумент командной строки: опцию можно указать в качестве аргумента командной строки при запуске приложения Streamlit. Пример команды:
   ```shell
   streamlit run app.py --server.enableXsrfProtection false
   ```

2. Файл конфигурации: В качестве альтернативы вы можете указать параметр в файле конфигурации Streamlit `.streamlit/config.toml`. Запись будет выглядеть так:
   ```toml
   [server]
   enableXsrfProtection = false
   ```

> [!TIP]
> При использовании Streamlit SDK вам не нужно об этом беспокоиться, так как SDK выполняет эту работу за вас.

