# Spaces의 쿠키 제한

Hugging Face Spaces에서 애플리케이션은 쿠키 사용에 몇 가지 제한이 있습니다. 이는 주로 Spaces 페이지의 구조(`https://huggingface.co/spaces/<user>/<app>`) 때문이며, 이 페이지는 다른 도메인(`*.hf.space`)에 호스팅된 애플리케이션을 iframe 안에 포함하고 있습니다. 보안상의 이유로 최신 브라우저는 부모 페이지와 다른 도메인에 호스팅된 iframe 페이지의 쿠키 사용을 제한하는 경향이 있습니다.

## Docker SDK를 사용한 Streamlit 앱 호스팅에 미치는 영향

이러한 쿠키 제한이 문제가 될 수 있는 한 가지 사례는 Docker SDK를 사용하여 Streamlit 애플리케이션을 호스팅하는 경우입니다. 기본적으로 Streamlit은 쿠키 기반의 XSRF 보호를 활성화합니다. 그 결과, 서버에 데이터를 제출하는 `st.file_uploader()`와 같은 특정 컴포넌트는 쿠키 사용이 제한된 HF Spaces에서 제대로 작동하지 않습니다.

이 문제를 우회하려면 Streamlit에서 `server.enableXsrfProtection` 옵션을 `false`로 설정해야 합니다. 이를 수행하는 방법은 두 가지입니다:

1. 명령줄 인자: Streamlit 애플리케이션을 실행할 때 옵션을 명령줄 인자로 지정할 수 있습니다. 예시 명령은 다음과 같습니다:
   ```shell
   streamlit run app.py --server.enableXsrfProtection false
   ```

2. 설정 파일: 또는 Streamlit 설정 파일 `.streamlit/config.toml`에서 옵션을 지정할 수 있습니다. 다음과 같이 작성합니다:
   ```toml
   [server]
   enableXsrfProtection = false
   ```

> [!TIP]
> Streamlit SDK를 사용하는 경우 SDK가 이 작업을 대신 수행하므로 걱정할 필요가 없습니다.

