python) 패키지 설치 및 사용

jun_legend·2021년 5월 16일
0

Python-Web Application

목록 보기
11/11
post-thumbnail

"패키지(package) 설치 및 사용"


  • 패키지 (package)
    완성된 소프트웨어나 다른 소프트웨어를 완성하기 위해
    필요한 부품이 되는 소프트웨어

  • 패키지매니저 (package manager)
    패키지를 쉽게 사용할 수 있게 도와주는 소프트웨어
    *PIP : 파이썬의 패키지 매니저

  • PyPI (Python Package Index)
    파이썬의 패키지 매니저가 사용할 수 있는 패키지에 대한 목록이 저장된 곳


1) 파이썬의 패키지 중 html-sanitizer 라는 패키지를 설치해보자.

(터미널에서) pip3 install html-sanitizer

  • 파이썬 코드를 실행할 때 python3 를 입력했던 것처럼 pip3 라고 입력하자.

2) PyPI 에서 html-sanitizer 검색해서 Usage 로 사용법을 확인하자.

>>> from html_sanitizer import Sanitizer
>>> sanitizer = Sanitizer()
>>> sanitizer.sanitize() 
  • html_sanitizer 모듈에서 Sanitizer 라는 것을 불러옴
  • sanitizer 는 변수
  • Sanitizer 는 클래스

3) 검색된 html-sanitizer 사용법 코드를 index.py 에 적용시켜보자.
(사용자가 데이터를 입력하는 곳에는 모두 적용)

import cgi, os, view, html_sanatizer
sanitizer = html_sanitizer.Sanitizer()

form = cgi.FieldStorage()
if 'id' in form:
    pageId = form["id"].value
    description = open('data/'+pageId, 'r').read()
    title = sanitizer.sanitize(title)
    description = sanitizer.sanitize(description)
    	    .
            .
            .
  • title 값과 description 값은 사용자가 입력하기에 오염될 가능성이 있음.
    sanitizer.sanitize( )를 통해 소독 후 title, description 변수에 다시 저장한다.

4) html-sanitizer 사용법 코드를 view.py 에도 적용시켜보자.

import os, html_sanitizer
def getList():
  sanitizer = html_sanitizer.Sanitizer()
  files = os.listdir('data')
  listStr = " "
  for item in files:
    item = sanitizer.sanitize(item)
    listStr += '<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
  return listStr
  • item 값도 사용자가 입력하기에 오염될 가능성이 있음.
    sanitizer.sanitize( )를 통해 소독 후, item 변수에 다시 저장한다.

이제 사용자가 입력하는 모든 데이터들은
html-sanitizer 를 통해 소독 과정을 거친 후 저장된다.




[출처] 생활코딩 WEB2 - Python
https://opentutorials.org/module/3357

0개의 댓글