Hub documentation

Hạn chế của Cookie trong Spaces

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Hạn chế của Cookie trong Spaces

Trong Hugging Face Spaces, các ứng dụng có một số hạn chế khi sử dụng cookie. Điều này chủ yếu do cấu trúc của các trang Spaces (https://huggingface.co/spaces/<user>/<app>), trong đó các ứng dụng được lưu trữ trên một tên miền khác (*.hf.space) bên trong một iframe. Vì lý do bảo mật, các trình duyệt hiện đại thường hạn chế việc sử dụng cookie từ các trang iframe được lưu trữ trên tên miền khác với trang cha.

Tác động đến việc lưu trữ ứng dụng Streamlit bằng Docker SDK

Một trường hợp mà các hạn chế về cookie này có thể gây ra vấn đề là khi triển khai các ứng dụng Streamlit bằng Docker SDK. Mặc định, Streamlit bật bảo vệ XSRF dựa trên cookie. Do đó, một số thành phần gửi dữ liệu lên máy chủ, chẳng hạn như st.file_uploader(), sẽ không hoạt động đúng trên HF Spaces, nơi việc sử dụng cookie bị hạn chế.

Để khắc phục vấn đề này, bạn cần đặt tùy chọn server.enableXsrfProtection trong Streamlit thành false. Có hai cách để thực hiện điều này:

  1. Lệnh dòng lệnh: Tùy chọn có thể được chỉ định dưới dạng đối số dòng lệnh khi chạy ứng dụng Streamlit. Dưới đây là lệnh ví dụ:

    streamlit run app.py --server.enableXsrfProtection false
  2. Tệp cấu hình: Ngoài ra, bạn có thể chỉ định tùy chọn trong tệp cấu hình Streamlit .streamlit/config.toml. Bạn sẽ viết nó như sau:

    [server]
    enableXsrfProtection = false

Khi bạn sử dụng Streamlit SDK, bạn không cần phải lo lắng về điều này vì SDK sẽ tự động xử lý cho bạn.

Update on GitHub