전체
-
DJANGO + NGINX DDOS 방지 동일 IP중복 요청 제한Django 2023. 11. 14. 16:39
limit_req 모듈을 사용하여 동일 IP중복요청을 제한하여 DDOS공격을 방지하는법 limit_req_zone : 단위 시간당 요청의 수를 제한하는데 사용 limit_conn_zone : 동시 연결 수를 제한하는데 사용 # 모두 사용하여 요청 속도 제한, 동시 연결 수를 제아하여 서버를 보호하는게 좋긴하다고 합니다. # 서로 보완적으로 작동함 # nginx.conf http { limit_req_zone $binary_remote_addr zone=ddos:10m rate=5r/s; server { location / { limit_req zone=ddos burst=5; } $binary_remote_addr : 변수에 의해 설정된 클라이언트 IP 주소입니다. zone=ddos:10m : 존의 이름..
-
Django Redis cacheDjango 2023. 1. 3. 11:43
django-redis 라이브러리를 사용해용https://github.com/jazzband/django-redis GitHub - jazzband/django-redis: Full featured redis cache backend for Django.Full featured redis cache backend for Django. Contribute to jazzband/django-redis development by creating an account on GitHub.github.com간단히 도까로 로컬 레디스를 띄우고 해볼게용 따라해용docker pull redis # 레디스 이미지를 풀 받아용docker images # 잘 받아졌는지 확인해용docker network create redis-..
-
Python AES256 암호화, 복호화Python 2022. 12. 22. 10:31
import base64 from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes from cryptography.hazmat.primitives import padding from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC class AES256: def __init__(self): self.key = "secret" self.salt_bytes = bytes([64] *..
-
파이썬 오버로딩과 오버라이딩Python 2022. 11. 10. 14:16
오버 라이딩은 이해하고 있었으나 오버 로딩이 정확히 무엇인지 이해하지 못하고 있었다. 결과적으로 이유를 보았을 때 파이썬에서는 오버 로딩을 정식으로 지원하지 않았기 때문인듯하다. 오버 로딩과 오버 라이딩을 정리해보자. 오버 로딩, 오버 라이딩 정의로는 동일한 이름의 함수를 매개변수에 따라 다른 기능으로 동작하도록 하는 것이다. 오버 라이딩은 상속 시에 클래스를 수정하는 것이고 오버 로딩은 하나의 메서드에 다형성을 부여하는 것이다. 좀 더 이해하기 편하게 생각해보면 오버 로딩은 클래스 내에 같은 이름의 메서드를 여러 개 선언하는 것이다. 파이썬에서는 오버 로딩을 지원하지 않는다. 그렇다면 파이썬에서는 어떤 식으로 해결할까? class calculator(): def add(self, a, b): retur..