Hub documentation
Spaces'te çerez kısıtlamaları
Spaces'te çerez kısıtlamaları
Hugging Face Spaces’te uygulamalar, çerezleri kullanırken belirli kısıtlamalara tabidir. Bunun başlıca nedeni, Spaces sayfalarının yapısıdır (https://huggingface.co/spaces/<user>/<app>); bu sayfalar, ana sayfa ile farklı bir alan adında (*.hf.space) barındırılan uygulamaları bir iframe içinde içerir. Güvenlik gereği, 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:
Komut satırı argümanı: Streamlit uygulamasını çalıştırırken seçenek, komut satırı argümanı olarak belirtilebilir. Örnek komut:
streamlit run app.py --server.enableXsrfProtection false
Yapılandırma dosyası: Alternatif olarak, seçeneği Streamlit yapılandırma dosyasında
.streamlit/config.tomlbelirleyebilirsiniz. Bunu şu şekilde yazarsınız:[server] enableXsrfProtection = false
Update on GitHubStreamlit SDK'yi kullanırken bununla uğraşmanıza gerek yoktur çünkü SDK bunu sizin için yapar.