2017-02-20 14 views

답변

0

머리글 이름에 밑줄을 사용하지 말고 구분 기호로 대시 만 사용해야합니다.

Apache 및 nginx와 같은 주요 웹 서버와 일부 Python WSGI 서버/프레임 워크는 헤더 스푸핑을 피하기 위해 밑줄이있는 헤더를 버리게됩니다.

당신은 헤더가 상상 :

가 CGI에서
My-Header: value 

이/WSGI를 변수로 변환됩니다 :

HTTP_MY_HEADER: value 

응용 프로그램으로 전달합니다.

My_Header: value 

같은 매핑 :

문제는 헤더가 있다는 것입니다.

위험은 클라이언트가이를 사용할 수 있으며 프록시와 같은 서버와 응용 프로그램이 처리 할 때 원본을 덮어 쓰도록 고의적으로 시도 할 수 있다는 점입니다.

잠재적 인 보안 문제이므로 서버는 영숫자와 대시가 포함 된 헤더 만 통과시키고 다른 것은 버려집니다.

+0

안녕하세요 그레이엄, 하지만이 변경 사항은 클라이언트 측에도 적용되기 때문에 갑자기 작업이 중지됩니다. 지금은 변경할 수 없습니다. –

+0

어떤 WSGI 서버를 사용하고 있습니까? WSGI 서버가 최근에 업그레이드 되었습니까? –

+0

Apache/2.4.18 (우분투) mod_wsgi/4.3.0 Python/2.7.12가 구성되었습니다. –