[파이썬] Flask에서의 CORS 처리

Flask는 강력한 웹 프레임워크이지만, 기본적으로는 Cross-Origin Resource Sharing (CORS)를 지원하지 않습니다. 하지만, 웹 애플리케이션을 개발하는 과정에서 다른 도메인에서 리소스에 접근하는 것이 필요할 때가 있습니다.

CORS란, 다른 도메인에서 리소스에 접근하기 위해 브라우저가 적용하는 보안 정책입니다. 기본적으로 브라우저는 다른 도메인에서 오는 리소스의 접근을 차단하는데, 이를 통해 보안 취약점을 예방합니다.

Flask-CORS 라이브러리 설치

Flask 애플리케이션에서 CORS를 처리하기 위해 Flask-CORS 라이브러리를 사용할 수 있습니다. 먼저, Flask-CORS를 설치하려면 다음 명령어를 실행하세요:

pip install flask-cors

Flask-CORS 적용하기

Flask-CORS를 사용하기 위해서는 Flask 애플리케이션에 다음과 같이 설정해주어야 합니다:

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

위의 코드는 Flask-CORS를 Flask 애플리케이션에 적용하는 가장 기본적인 방법입니다. 이제 애플리케이션의 모든 라우트에서 CORS 정책이 적용됩니다.

CORS 옵션 설정

Flask-CORS는 다양한 옵션을 제공하여 세밀한 CORS 제어를 가능하게 합니다. 예를 들어, 다음과 같이 특정 도메인만 리소스에 접근할 수 있도록 제한할 수 있습니다:

CORS(app, origins="http://example.com")

또는 특정 라우트에서만 CORS를 활성화할 수도 있습니다:

@app.route('/api', methods=['GET', 'POST'])
@cross_origin()
def api():
    # 코드 작성
    pass

요약

Flask에서 CORS 처리는 보안 정책을 준수하면서 다른 도메인에서 리소스에 접근할 수 있도록 해줍니다. Flask-CORS 라이브러리를 사용하면 간단하게 CORS를 적용할 수 있으며, 다양한 옵션을 설정하여 더 세밀한 제어도 가능합니다. Flask-CORS를 사용하여 웹 애플리케이션의 기능을 확장하고, 다양한 리소스에 접근하는 서비스를 제공해보세요.