Hub documentation
Ограничения cookie в Spaces
Ограничения 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. Это можно сделать двумя способами:
Аргумент командной строки: опцию можно указать в качестве аргумента командной строки при запуске приложения Streamlit. Пример команды:
streamlit run app.py --server.enableXsrfProtection false
Файл конфигурации: В качестве альтернативы вы можете указать параметр в файле конфигурации Streamlit
.streamlit/config.toml. Запись будет выглядеть так:[server] enableXsrfProtection = false
Update on GitHubПри использовании Streamlit SDK вам не нужно об этом беспокоиться, так как SDK выполняет эту работу за вас.