반응형 파이썬71 안전한 API 구축을 위한 보안 강화 (JWT, CORS) 안전한 API 구축을 위한 보안 강화와 인증/인가 매커니즘안녕하세요! 오늘은 안전한 API를 구축하기 위해 꼭 알아두어야 할보안 강화와 인증/인가 매커니즘에 대해 쉽게 설명해드리려고 합니다.특히 JWT 기반 인증 구현 그리고 CORS 설정과 HTTPS 적용에 대해 알아보겠습니다.1. JWT(Json Web Token) 기반 인증 구현JWT란 무엇인가요?JWT는 Json Web Token의 약자로, 사용자 인증을 위해 사용하는 토큰 기반의 인증 방식입니다. 서버는 사용자가 로그인하면 JWT를 생성하여 클라이언트에 전달하고, 클라이언트는 이후의 요청마다 이 토큰을 서버에 보내 인증을 받습니다.왜 JWT를 사용할까요?상태 비저장(stateless): 서버는 세션을 유지할 필요가 없어 확장성이 좋습니다.편리한 .. 2024. 11. 7. 의존성 주입(Dependency Injection)과 FastAPI에서의 활용 의존성 주입(Dependency Injection)과 FastAPI에서의 활용안녕하세요! 오늘은 의존성 주입(Dependency Injection)의 개념과 이를 FastAPI에서 어떻게 활용할 수 있는지 알아보겠습니다. Python과 FastAPI를 처음 접하시는 분들도 이해하기 쉽도록 예제를 통해 설명드리겠습니다.의존성 주입이란?의존성 주입(Dependency Injection)은 소프트웨어 디자인 패턴 중 하나로, 객체 간의 의존 관계를 외부에서 주입해주는 방식을 말합니다. 이를 통해 코드의 유연성, 재사용성, 테스트 용이성을 높일 수 있습니다.왜 필요한가요?결합도 감소: 모듈 간의 의존성을 낮춰 코드 변경 시 영향 범위를 줄입니다.테스트 용이성: Mock 객체를 주입하여 단위 테스트를 쉽게 작성할.. 2024. 11. 1. [Selenium] 셀레니움으로 크롤링 할 때 시크릿 모드 브라우저 열기 [Selenium] 셀레니움으로 크롤링 할 때 시크릿 모드 브라우저 열기크롬 브라우저 옵션에 --incognito 플래그를 추가하면 간단하게 시크릿 모드로 실행 시킬 수 있습니다 !! 예제코드from selenium import webdriverfrom selenium.webdriver.chrome.options import Options# 크롬 옵션 설정chrome_options = Options()chrome_options.add_argument("--incognito") # 시크릿 모드 옵션 추가# 크롬 드라이버 경로 설정 (자신의 경로로 수정)driver_path = "/path/to/chromedriver" # 크롬 드라이버 경로를 설정하세요.# 드라이버 생성 (옵션 포함)driver = w.. 2024. 9. 11. [Python & Matplotlib] 학생들 성적 시각화 예시 [Python & Matplotlib] 학생들 성적 시각화 예시수학,과학,영어 의 과목들을 학생별로 시각화한 예시입니다.예시코드import pandas as pdimport matplotlib.pyplot as pltimport matplotlib# matplotlib 한글 폰트 설정matplotlib.rcParams['font.family'] = 'Malgun Gothic' # 'Malgun Gothic' 대신 사용할 수 있는 폰트로 변경 가능matplotlib.rcParams['axes.unicode_minus'] = False # 음수 부호 표시 문제 해결# 데이터 생성data = { '학생': ['학생1', '학생2', '학생3', '학생4', '학생5'], '수학': [82, 90.. 2024. 5. 4. [Python & Django] No module named 'mathfilters' when adding to INSTALLED_APPS 에러 해결 방법 !! [Python & Django] No module named 'mathfilters' when adding to INSTALLED_APPS 에러 해결 방법 !! mathfilters 모듈이 없다는 에러가 발생하여 평소와 같이 pip install을 하였는데, 그런 모듈이 없다고 떴다....ㄷㄷ 찾다보니 장고에서 따로 있던 패키지였다. 프로젝트 협업하다보면 이런 일들이 자주 있어서 시간을 쓰게 되는데, 새로운 패키지를 설치하게 된다면 requirements에 설명과 같이 올렸으면 좋겠다. (나부터...) $ pip install django-mathfilters 2024. 4. 17. [Python & Django] 장고에서 베이스 url 만드는 방법 !! [Python & Django] 장고에서 베이스 url 만드는 방법 !! Django에서 베이스 URL을 가져오는 일반적인 방법은 직접적으로 '베이스 URL'이라는 것을 제공하지 않는다는 점에서 약간 까다롭습니다. 대신, 요청(request) 객체에서 현재 도메인과 스키마(예: http 또는 https)를 결합하여 베이스 URL을 구성할 수 있습니다. 이를 통해 현재 사이트의 베이스 URL을 동적으로 생성할 수 있습니다. 다음은 Django 뷰에서 요청 객체를 사용하여 베이스 URL을 생성하는 방법의 예시입니다: from django.http import HttpResponse def my_view(request): # 현재 사용 중인 스키마 ('http' 또는 'https')를 가져옵니다. scheme.. 2024. 4. 8. [Python & PyAutoGUI] 텍스트 파일 실행하여 글 입력 후 저장하는 자동화 방법 !! [Python & PyAutoGUI] 텍스트 파일 실행하여 글 입력 후 저장하는 자동화 방법 !! pyautogui 를 사용하여 notepad를 열고 글을 입력 후 저장되는 예제 자동화 코드입니다 ㅎ 예제코드 import pyautogui import time # 메모장 프로그램을 여는 단축키 (Windows 키 + R)를 누르고, 'notepad' 입력 후 엔터 pyautogui.hotkey('win', 'r') time.sleep(1) # 실행 창이 열릴 시간을 기다립니다. pyautogui.write('notepad') pyautogui.press('enter') time.sleep(1) # 메모장이 열릴 시간을 기다립니다. # 메모장에 텍스트 입력 pyautogui.write('Hello, thi.. 2024. 3. 27. [Python & Django] db데이터 호출하여 엑셀 파일로 전달해주는 api 만들기 [Python & Django] db데이터 호출하여 엑셀 파일로 전달해주는 api 만들기 db에 있는 데이터를 엑셀로 다운받게 해주는 api를 만들어 봤습니다 ! 제가 사용한 프레임워크가 장고일 뿐 어디든 함수를 가져다 쓰시면 됩니다 ㅎ ※ 코드 설명 이 수정된 코드에서는 BytesIO 객체를 사용하여 DataFrame의 내용을 메모리에 엑셀 파일로 저장하고, 이를 읽어서 HttpResponse 객체에 전달합니다. 이렇게 하면 클라이언트는 엑셀 파일을 다운로드할 수 있게 됩니다. urls.py from django.urls import path from .views import export_to_excel urlpatterns = [ # 기존 경로들... path('export_to_excel/', ex.. 2024. 3. 21. [Python] 파이썬에서 영어가 아닌 단어 찾는 방법 !! [Python] 파이썬에서 영어가 아닌 단어 찾는 방법 !! 파이썬에서 리스트 안에 있는 단어가 영어인지 아닌지를 구분하기 위해, 주어진 단어가 영문 알파벳으로만 이루어져 있는지 확인하는 간단한 방법을 사용할 수 있습니다. str.isalpha()는 문자열이 알파벳으로만 구성되어 있는지를 확인하고, str.isascii()는 문자열이 ASCII 문자로만 구성되어 있는지를 확인합니다. ASCII 문자 집합에는 영문 알파벳이 포함되어 있으므로, 이 두 조건을 모두 만족하는 경우 해당 단어는 영어로 간주할 수 있습니다. 예제코드 def is_english_word(word): return word.isalpha() and word.isascii() words = ['apple', '사과', 'banana', .. 2024. 2. 14. 이전 1 2 3 4 ··· 8 다음 728x90 반응형