[클라우드 바우처] 80% 할인된 금액으로 드림핵 엔터프라이즈를 도입해 보세요. 자세히 알아보기
소스코드 질문 답변 해주시면 감사드리겠습니다.

def admin():
if request.remote_addr != '127.0.0.1':
return 'Only localhost'

if request.headers.get('User-Agent') != 'Admin Browser':
    return 'Only Admin Browser'

if request.headers.get('DreamhackUser') != 'admin':
    return 'Only Admin'

일단 문제를 풀긴했습니다.. 어찌저찌 시행착오 끝에.. 근데 계속 삽질했던 이유 중 하나가
if request.headers.get('User-Agent') != 'Admin Browser':
return 'Only Admin Browser'
이 부분입니다.
request.headers.get을 보고 문제에 접근할때 request.headers니까 header를 post로 전송해줘야하나? 이런 생각이 들었습니다.
Only localhost를 피하기위해 python requests 라이브러리로 http 헤더에
host : 127.0.0.1 이런식으로 만들어서 games1.dream~~~/admin 여기다 보내줬는데 계속해서 Only localhost만 나왔습니다..
혹시 request.headers.get 이부분이 header를 post로 전송해라 이런 의미랑은 아에 다른 코드인가요?
멘탈이 너무 나가서 답변해주시면 정말 감사드리겠습니다..

#web
작성자 정보
답변 1
avatar
워게임 고인물

request.headers는 현재 들어온 요청의 헤더 부분을 참조하는 것 입니다. 이때 request.headers의 타입은 werkzeug.datastructures.EnvironHeaders이고, get() 메서드를 이용해서 특정 헤더의 값을 가져오고 있는 것 입니다!

즉, request.headers.get('User-Agent')로 예를 들면 "현재 헤더에서 User-Agent라는 헤더의 값을 가져와라" 라는 코드입니다!

2021.07.16. 05:17
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기