3omh4n
3omh4
3omh4n
  • 분류 전체보기 (65)
    • wargame - system (0)
      • DreamHack (9)
      • FTZ (5)
      • LoB (4)
      • pwnable.kr (1)
    • wargame - reversing (0)
      • DreamHack (5)
    • wargame - web (6)
      • webhacking.kr (3)
      • DreamHack (3)
      • HackCTF (0)
    • CS (21)
      • system (19)
      • reversing (0)
      • Linux (2)
    • python (5)
      • Flask (5)
    • C++ (3)
    • 개인기록 (2)
    • 이거저거 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

태그

  • BOF
  • Reversing
  • C++
  • error
  • systemhacking
  • langage
  • System
  • Programming
  • pwntools
  • Dreamhack
  • RELRO
  • hackerschool
  • webhacking
  • python
  • ftz
  • hacking
  • LOB
  • ROP
  • Devtools
  • flask

티스토리

전체 방문자
오늘
어제
3omh4n

3omh4

[python][flask]플라스크 기초-redirect & errorhandler
python/Flask

[python][flask]플라스크 기초-redirect & errorhandler

2022. 2. 14. 18:32

python flask에서는 다른 엔드 포인트로 이동하기 위해 redirect() 함수를 이용한다.에러를 발생시키고 싶으면 abort() 함수를 이용한다.

 

실습코드

 

GitHub - gkdms1457/langage-review: review and practice programing langage

review and practice programing langage. Contribute to gkdms1457/langage-review development by creating an account on GitHub.

github.com

예제 코드 및 설명

from flask import Flask, redirect, url_for, abort

app = Flask(__name__)

@app.errorhandler(403)
def permission_denied(error):
    return '403', 403

@app.route('/')
def index():
    return redirect(url_for('user_list'))

@app.route('/user')
def user_list():
    abort(403)
  1. http://127.0.0.1:5000/에 접근하면 index()함수가 실행된다.
  2. redirect(url_for('uer_list'))의 실행으로 /user를 반환한다.
    • url_for()
      • 함수의 이름을 넣으면 해당 라우팅 URL을 반환해주는 함수
      • user_list함수를 요청했고 해당 함수의 라우팅 url인 /user를 반환해준다
  3. user_list()함수 호출의 결과로 abort(403)함수가 호출된다.
    • abort(code)
      • 4XX번대 HTTP Status Code를 보내는 함수이다
      • 400 : 잘못된 요청
        401 : 권한 없음
        403 : Forbidden, 금지됨
        404 : Not Found, 찾을 수 없음
        406 : 허용되지 않음
        415 : 지원되지 않는 미디어 유형
        429 : 너무 많은 요청, RFC 6585
  4. app.errorhandler를 사용해 error exception을 받아 처리할 수 있다.
    • 403 상태 코드를 리턴한다

결과

http://127.0.0.1:5000/ 에 접속했지만 바로 http://127.0.0.1:5000/user에 접속하게 된 것을 확인할 수 있다.

 

'python > Flask' 카테고리의 다른 글

[python][flask]플라스크 기초-jinja2  (0) 2022.02.14
[python][flask]플라스크 기초-템플릿(render_template)  (0) 2022.02.14
[python][flask]플라스크 기초-메서드(method)  (0) 2022.02.14
[python][flask]플라스크 기초-라우팅  (0) 2022.02.08
    'python/Flask' 카테고리의 다른 글
    • [python][flask]플라스크 기초-jinja2
    • [python][flask]플라스크 기초-템플릿(render_template)
    • [python][flask]플라스크 기초-메서드(method)
    • [python][flask]플라스크 기초-라우팅
    3omh4n
    3omh4n

    티스토리툴바