django에서 사용자 정의 request header 읽기
작성자
리식
작성일
2017-09-05 22:43
조회
7912
사용자 정의 header를 읽어오려고 하면 읽어와지지 않는 경우..
예를들어 헤더에 'Authorization' 을 주면 읽을 때는
'HTTP_AUTHORIZATION' 으로 읽어오면 된다.
_ (언더스코어)가 포함 된 사용자 정의 헤더는 삭제되는데, XSS공격을 막기 위한 정책으로
사용자 정의 헤더에 언더스코어가 포함 된 값은 입력하지 않도록 해야 한다.
앞에 HTTP_ 가 붙게되고 모두 대문자로 변환되고
- (하이픈)을 입력 한 사용자 정의 헤더는 모두 언더스코어로 변경 된다.
'client-id' 라는 헤더를 보내면 읽을 때는 'HTTP_CLIENT_ID' 로 읽어야 한다는 것
request.META.get('HTTP_헤더명을_대문자_하이픈은_언더바로') 이렇게 가져와도 되고
request.META['HTTP_헤더명을_대문자_하이픈은_언더바로'] 이렇게 가져와도 되고
request.__dict__['meta'] 나 request.__dict__['environ'] 에서 꺼내와도 된다.
회사에 생각보다 헤더 읽어와야 하는 분들이 많으신 것 같아 기록...
예를들어 헤더에 'Authorization' 을 주면 읽을 때는
'HTTP_AUTHORIZATION' 으로 읽어오면 된다.
_ (언더스코어)가 포함 된 사용자 정의 헤더는 삭제되는데, XSS공격을 막기 위한 정책으로
사용자 정의 헤더에 언더스코어가 포함 된 값은 입력하지 않도록 해야 한다.
앞에 HTTP_ 가 붙게되고 모두 대문자로 변환되고
- (하이픈)을 입력 한 사용자 정의 헤더는 모두 언더스코어로 변경 된다.
'client-id' 라는 헤더를 보내면 읽을 때는 'HTTP_CLIENT_ID' 로 읽어야 한다는 것
request.META.get('HTTP_헤더명을_대문자_하이픈은_언더바로') 이렇게 가져와도 되고
request.META['HTTP_헤더명을_대문자_하이픈은_언더바로'] 이렇게 가져와도 되고
request.__dict__['meta'] 나 request.__dict__['environ'] 에서 꺼내와도 된다.
회사에 생각보다 헤더 읽어와야 하는 분들이 많으신 것 같아 기록...
전체 0
댓글을 남기려면 로그인하세요.
전체 5
번호 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
5 |
Performing raw SQL queries
리식
|
2017.09.05
|
추천 0
|
조회 467
|
리식 | 2017.09.05 | 0 | 467 |
4 |
django에서 사용자 정의 request header 읽기
리식
|
2017.09.05
|
추천 6
|
조회 7912
|
리식 | 2017.09.05 | 6 | 7912 |
3 |
django middleware에서 request객체 수정시 확인이 안되는 문제
리식
|
2017.08.23
|
추천 0
|
조회 1542
|
리식 | 2017.08.23 | 0 | 1542 |
2 |
uWSGI Graceful Reloading (2)
리식
|
2017.08.23
|
추천 0
|
조회 1044
|
리식 | 2017.08.23 | 0 | 1044 |
1 |
DBMS별 기본 포트
리식
|
2017.08.20
|
추천 0
|
조회 289
|
리식 | 2017.08.20 | 0 | 289 |