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 应用的影响
当使用 Docker SDK 托管 Streamlit 应用程序时,这些 cookie 限制可能会成为问题。默认情况下,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 上更新