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 上更新