# Spaces'te çerez kısıtlamaları

Hugging Face Spaces'te uygulamalar, çerezleri kullanırken belirli kısıtlamalara tabidir. Bu durum, büyük ölçüde Spaces sayfalarının (`https://huggingface.co/spaces/<user>/<app>`) yapısından kaynaklanır; bu sayfalar, ana sayfadan farklı bir alan adında (`*.hf.space`) barındırılan uygulamaları bir iframe içinde içerir. Güvenlik nedenleriyle modern tarayıcılar, ana sayfadan farklı bir alan adında barındırılan iframe sayfalarındaki çerez kullanımını kısıtlama eğilimindedir.

## Docker SDK ile Streamlit Uygulamalarını Barındırma Üzerindeki Etki

Bu çerez kısıtlamalarının sorunlu hale gelebileceği bir durum, Docker SDK kullanılarak Streamlit uygulamalarının barındırılmasıdır. Varsayılan olarak Streamlit, çerez tabanlı XSRF korumasını etkinleştirir. Sonuç olarak, sunucuya veri gönderen `st.file_uploader()` gibi belirli bileşenler, çerez kullanımının kısıtlandığı HF Spaces üzerinde düzgün çalışmaz.

Bu sorunu aşmak için Streamlit'te `server.enableXsrfProtection` seçeneğini `false` olarak ayarlamanız gerekir. Bunu yapmanın iki yolu vardır:

1. Komut satırı argümanı: Streamlit uygulamasını çalıştırırken seçenek, komut satırı argümanı olarak belirtilebilir. Örnek komut:
   ```shell
   streamlit run app.py --server.enableXsrfProtection false
   ```

2. Yapılandırma dosyası: Alternatif olarak, seçeneği Streamlit yapılandırma dosyasında `.streamlit/config.toml` belirleyebilirsiniz. Bunu şu şekilde yazarsınız:
   ```toml
   [server]
   enableXsrfProtection = false
   ```

> [!TIP]
> Streamlit SDK'yi kullanırken bununla uğraşmanıza gerek yoktur çünkü SDK bunu sizin için yapar.

