Hub 文档
Spaces 中的 Cookie 限制
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
Spaces 中的 Cookie 限制
在 Hugging Face Spaces 中,应用程序在使用 Cookie 时存在某些限制。这主要是因为 Spaces 页面的结构 (https://huggingface.co/spaces/<user>/<app>
) 包含托管在不同域 (*.hf.space
) 的 iframe 中的应用程序。出于安全原因,现代浏览器倾向于限制使用与父页面域不同的 iframe 页面中的 Cookie。
使用 Docker SDK 托管 Streamlit 应用程序的影响
这些 Cookie 限制可能导致问题的一个实例是使用 Docker SDK 托管 Streamlit 应用程序时。默认情况下,Streamlit 启用基于 Cookie 的 XSRF 保护。因此,某些向服务器提交数据的组件(例如 st.file_uploader()
)在 Cookie 使用受限的 HF Spaces 上将无法正常工作。
要解决此问题,您需要将 Streamlit 中的 server.enableXsrfProtection
选项设置为 false
。有两种方法可以实现此目的
命令行参数:在运行 Streamlit 应用程序时,可以将该选项指定为命令行参数。以下是示例命令
streamlit run app.py --server.enableXsrfProtection false
配置文件:或者,您可以在 Streamlit 配置文件
.streamlit/config.toml
中指定该选项。您可以这样编写[server] enableXsrfProtection = false
当您使用 Streamlit SDK 时,无需担心这个问题,因为 SDK 会为您处理。
< > 在 GitHub 上更新