Programming/python

·Programming/python
■ file vulnerability를 통한 공격을 위한 드림핵 file-download-1 풀이■ file vulnerability (파일 취약점) 이란?- 파일을 업로드 하거나 다운로드 하는 과정에서 발생하는 취약점, 업로드와 다운로드 취약점 으로 구분된다.■ upload vulnerability ( 업로드 취약점 ) : 파일을 업로드를 하는 과정 발생하는 취약점, GCI ( Common GateWay Interface ) 로 실행되는 파일을 업로드해 시스템의 임의 명령어를 실행하거나, HTML 파일을 업로드하며 xxr ( cross-site-scripting) 공격을 수행할 수 있음,또한 path traversal 취약점 과 연계하여 폴더에서 벗어난 루트에 공격을 실행할 수 있다.■ download..
·Programming/python
현재 만들고 있는 django 게시판 페이지의 게시글 소유자 확인을 위한 로그인, 로그아웃, 회원가입 구현1. 현재 프로젝트의 공통요소들을 포함하기 위한 common 앱 생성 후 앱 등록1.1 하기의 명령어를 통하여 common 앱 성성django-admin startapp common1.2 config 프로젝트 settings.py 및 urls.py 에 common 앱 등록 및 로그인 후 redirect url 지정setting.pyINSTALLED_APPS = [ 'common.apps.CommonConfig', # 추가 ... 이하 생략 ...]LOGIN_REDIRECT_URL = "/" # 추가urls.pyfrom django.urls import path, includefrom py..
·Programming/python
1. log.ini 파일 선언하기■ 아래의 코드를 프로젝트 루트폴더에서 log.ini 라는 파일로 생성 후 입력한다.[loggers]keys=root[handlers]keys=logfile,logconsole[formatters]keys=logformatter[logger_root]level=INFOhandlers=logfile, logconsole[formatter_logformatter]format=[%(asctime)s.%(msecs)03d] %(levelname)s [%(thread)d] - %(message)s[handler_logfile]class=handlers.TimedRotatingFileHandlerlevel=INFOargs=('log','midnight')formatter=logfor..
·Programming/python
from fastapi import APIRouter# 사용자 정의모듈 임포트 에러로 경로명 수동 지정import syssys.path.append('/Users/kimkunhwi/Documents/Projects/python_work/crime_dash_board/crime_dash_board_server/branch_crime_app')# 사용자 정의 모듈import branch_crime_util router = APIRouter( prefix="/crime_branch", tags=["crime_branch"])@router.get("/")def default_crime_branch(): # 함수를 호출해 데이터를 받고 리턴 default_crime_data = branch_cr..
·Programming/python
■ 경찰청 국내 범죄통계 2024 1분기 PDF 자료 데이터 전처리■ 단위 로직 실행을 위해 주피터 노트북을 통해 진행  ■ 하기는 본 포스트의 예제 1. 주피터 노트북에서 pdfplumber 설치 및 필요한 라이브러리 임포트■ 하기의 코드 입력 후 실행하여 pdfplumber 설치pip install pdfplumber ■ 필요한 라이브러리 임포트- as 명령어는 별칭 지정 명령어로 내가 원하는 명칭으로 라이브러리를 사용할 수 있게 설정한다. import osimport pdfplumber as ppimport pandas as pd 2.  PDF 파일 불러오기 및 데이터를 담을 사전 변수 선언■  각 변수들의 역할- pdf = 오픈한 pdf 의 데이터를 담은 변수- pages = pdf 의 각 페이지..
·Programming/python
■ 본 글은 콘다와 파이참으로 진행■ 본인이 사용할 가상환경 세팅 및 FastApi, Uvicorn 설치1. 콘다에서 본인이 사용할 가상환경 만들기■ 콘다 GUI 에 Environments 메뉴에 들어가 가상환경을 만들어준다2. 맥 터미널에서 가상환경 실행 및 FastApi, Uvicorn 라이브러리 설치■ 터미널에서 가상환경 실행conda activate 본인 가상환경명 #Mac 커맨드 환경kimkunhwi@gimgeonhwiui-noteubug ~ % conda activate vir_base(vir_base) kimkunhwi@gimgeonhwiui-noteubug ~ % ■ Fast Api 설치 pip install fastapi ■ Uvicorn 설치- Uvicorn 은 FastApi 용 웹..
·Programming/python
■ 주피터 노트북으로 진행■ 하기에 데이터를 통하여 진행 ■ pandas를 통해 데이터 불러오기import pandas as pd# 불러온 csv 데이터 df라는 변수에 담기# 필자는 파일들이 한 폴더안에 있어서 경로를 따로 지정 하지않음df= pd.read_csv("transfermakt50_use_before_init_list.csv")df.shape #행열의 개수를 가져옴 : 변수형태 #output (column:5, row:50)(rows, columns) = df.shape # 튜플로 각 변수에 행열의 개수를 담음■ 다양한 메서드를 통하여 자료형태가 숫자 인 값의 통계치 구하기■Describe() - 모든 숫자형 데이터에 대한 통계치#숫자형 데이터에 관한 통계치df.describe() • Out..
·Programming/python
■ 주피터 노트북으로 진행■ 지난 포스트 이어서 진행■ 필요 라이브러리 선언 및 헤더 리스트 세팅import requests as rqimport pandas as pdimport timefrom bs4 import BeautifulSoup as bfheaders = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}# 정보를 담을 리스트 만들어주기# 반복문 초기화를 시키지 않기 위해 밖에서 선언number=[]name=[]position=[]age=[]nation=[]team=[]value=[]■ 반복문들 통하..
·Programming/python
■ 주피터 노트북을 통해 실습 진행■ https://www.transfermarkt.com 이라는 축구사이트 크롤링 예정■ 라이브러리 임포트1. 필요 라이브러리 임포트• headers 및 url 변수 설정# as 로 별칭을 지정할 수 있다.import requests as rqimport pandas as pdimport timefrom bs4 import BeautifulSoup as bfheaders = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}url = "https://www.transfermarkt..
·Programming/python
■ Python 의 웹크롤링 라이브러리 Requests 와 BeatifulSoup 기본 사용법- 본 예제는 주피터 노트북을 사용함 ■ Requests1. pip install 을 통해 Requests 설치 및 임포트# 설치pip install requests# 임포트import requests 2. header 선언 및  user-agent 값 넣어주기- 웹크롤링 전 웹페이지에게 내가 사람임을 알리는 용도- 구글에 my user agent 검색headers = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"..
·Programming/python
■ apply• dataframe 에 파이썬 함수를 적용 할 수 있게 해주는 함수■ 사전작업import pandas as pddf = pd.DataFrame({ "가로" : [10,20,30,40,5,6,77,81,95], "세로" : [91,84,73,68,5,4,32,20,11],})dfOutPut  가로세로01091120842307334068455564677327812089511■ 응용• apply 를 통해 정의된 메서드를 호출• 호출 시 인자는 데이터프레임의 열 또는 행이 된다.def getVolume(row): return row["가로"] * row["세로"]#하나의 행이 인자가 되어 계산을 수행한다.df['부피'] = df.apply(getVolume, axis=1)dfOut..
·Programming/python
■ 사전 설정- pandas import 및 데이터프레임 정의import pandas as pddf = pd.DataFrame({ "가로" : [10,20,30,40,5,6,77,81,95], "세로" : [91,84,73,68,5,4,32,20,11],})dfOutPut가로세로10912084307340685564773281209511 ■ Sum• 더하기 함수• axis = 1 : 행 || axis = 0 : 열# 키에 따른 리스트 합산# axis=1 (행끼리 합산 )df.sum(axis=1)OutPut0 1011 1042 1033 1084 105 106 1097 1018 106dtype: int64#열 끼리 합산df.sum(axis=0)Ou..
김제주
'Programming/python' 카테고리의 글 목록