# Batasan cookie di Spaces

Di Hugging Face Spaces, aplikasi memiliki beberapa keterbatasan saat menggunakan cookie. Hal ini terutama disebabkan oleh struktur halaman Spaces (`https://huggingface.co/spaces/<user>/<app>`), yang berisi aplikasi yang dihosting di domain berbeda (`*.hf.space`) di dalam iframe. Karena alasan keamanan, browser modern cenderung membatasi penggunaan cookie dari halaman iframe yang dihosting di domain berbeda dari halaman induknya.

## Dampak pada Hosting Aplikasi Streamlit dengan Docker SDK

Salah satu kasus di mana pembatasan cookie ini dapat menjadi bermasalah adalah saat meng-hosting aplikasi Streamlit menggunakan Docker SDK. Secara default, Streamlit mengaktifkan perlindungan XSRF berbasis cookie. Akibatnya, komponen tertentu yang mengirim data ke server, seperti `st.file_uploader()`, tidak akan berfungsi dengan baik di HF Spaces di mana penggunaan cookie dibatasi.

Untuk mengatasi masalah ini, Anda perlu mengatur opsi `server.enableXsrfProtection` di Streamlit menjadi `false`. Ada dua cara untuk melakukan ini:

1. Argumen baris perintah: Opsi ini dapat ditentukan sebagai argumen baris perintah saat menjalankan aplikasi Streamlit. Berikut adalah contoh perintahnya:
   ```shell
   streamlit run app.py --server.enableXsrfProtection false
   ```

2. Berkonfigurasi file: Sebagai alternatif, Anda dapat menentukan opsi di file konfigurasi Streamlit `.streamlit/config.toml`. Anda menuliskannya seperti ini:
   ```toml
   [server]
   enableXsrfProtection = false
   ```

> [!TIP]
> Saat Anda menggunakan Streamlit SDK, Anda tidak perlu khawatir tentang hal ini karena SDK melakukannya untuk Anda.

