Hub documentation

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

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Ограничения 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. Пример команды:

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

    [server]
    enableXsrfProtection = false

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

Update on GitHub