Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Feat : 보안업데이트 #47

Merged
merged 3 commits into from
May 26, 2024
Merged

Conversation

lsjmc0224
Copy link
Contributor

@lsjmc0224 lsjmc0224 commented May 26, 2024

이 설정은 Django REST Framework(DRF)의 설정 파일에서 REST_FRAMEWORK 사전을 구성하는 방법입니다. 각 설정 항목에 대한 설명은 다음과 같습니다:

  1. DEFAULT_RENDERER_CLASSES:

    • DEFAULT_RENDERER_CLASSES는 응답을 렌더링할 때 사용할 기본 렌더러 클래스들을 지정합니다.
    • rest_framework.renderers.JSONRenderer: JSON 형식으로 응답을 렌더링합니다.
    • 주석 처리된 rest_framework.renderers.BrowsableAPIRenderer: 이 렌더러는 DRF의 브라우저 가능한 API 인터페이스를 제공합니다. 개발 중에는 유용하지만, 배포 시에는 보안상의 이유로 주석 처리될 수 있습니다.
  2. DEFAULT_THROTTLE_CLASSES:

    • DEFAULT_THROTTLE_CLASSES는 요청 속도를 제한하기 위해 사용할 기본 스로틀링 클래스들을 지정합니다.
    • rest_framework.throttling.AnonRateThrottle: 익명 사용자의 요청 속도를 제한합니다.
    • rest_framework.throttling.UserRateThrottle: 인증된 사용자의 요청 속도를 제한합니다.
    • rest_framework.throttling.ScopedRateThrottle: 특정 스코프 내에서의 요청 속도를 제한합니다. 주로 특정 API 엔드포인트에 대한 스로틀링을 정의할 때 사용됩니다.
  3. DEFAULT_THROTTLE_RATES:

    • DEFAULT_THROTTLE_RATES는 각 스로틀링 클래스에 대한 속도 제한을 정의합니다.
    • anon: 익명 사용자에 대한 속도 제한을 설정합니다. 여기서는 '1000/minute'로 설정되어 있어, 익명 사용자는 분당 최대 10,00개의 요청을 보낼 수 있습니다.
    • user: 인증된 사용자에 대한 속도 제한을 설정합니다. 여기서는 '1000/hour'로 설정되어 있어, 사용자는 시간당 최대 1,000개의 요청을 보낼 수 있습니다.
    • comments: 'comments'이라는 스코프에 대한 속도 제한을 설정합니다. 여기서는 '10/minute'로 설정되어 있어, 이 스코프 내의 API 엔드포인트에 대해서는 분당 최대 10개의 요청을 보낼 수 있습니다.
    • likes: 'likes'라는 스코프에 대한 속도 제한을 설정합니다. 여기서는 '100/minute'로 설정되어 있어, 이 스코프 내의 API 엔드포인트에 대해서는 분당 최대 100개의 요청을 보낼 수 있습니다.

이 설정들은 REST API의 성능을 관리하고, DoS(서비스 거부) 공격으로부터 서버를 보호하며, 모든 사용자가 공정하게 리소스를 사용할 수 있도록 도와줍니다.

@lsjmc0224 lsjmc0224 added the safe Safe to deploy label May 26, 2024
@lsjmc0224 lsjmc0224 added safe Safe to deploy and removed safe Safe to deploy labels May 26, 2024
@lsjmc0224 lsjmc0224 merged commit c5cfb7a into LikeLion-at-DGU:main May 26, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
safe Safe to deploy
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant