웹 응용 프로그램에서 작업 중이며 HTTP 리디렉션을 통해 데이터를 전달해야합니다. 예를 들어 :HTTP 리디렉션을 통해 데이터를 전달하기위한 옵션
http://foo.com/form.html
게시하는 데이터에 문제가있는 경우
http://foo.com/form/submit.html
에, 응답은
http://foo.com/form.html?error=Some+error+message
및 쿼리 PARAM "오류"로 다시 리디렉션 의 값이 페이지에 표시됩니다.
리디렉션 (예 : HTTP 헤더 등)에서 데이터를 전달할 수있는 신뢰할 수있는 방법이 있습니까?
쿼리 PARAMS 작품으로 데이터를 전달하지만 때문에 적합하지 않습니다 :
이 이 에게 그것의 일반 텍스트 (그리고 쿼리 문자열에서, SSL이 encyrpt에 의존 질수 있도록) 그래서 싶지 않을 것이다-
민감한 데이터
- URI는 브라우저에 의해 길이가 제한됩니다 (길이는 일반적으로 상당히 길다).
중요 :이 플랫폼은 상태가 적으며 많은 응용 프로그램 서버에 분산되어 있으므로 서버 측 세션 객체에서 데이터를 추적 할 수 없습니다.
"* [...] 및 쿼리 문자열에서 SSL은 encyrpt *에 의존 할 수 없습니다." 여기에 말하려고하는 내용 (일반 HTTP를 사용하고 있음)은 확실하지 않지만 [HTTPS는 ** 모두 ** HTTP 트래픽을 암호화합니다] (http://stackoverflow.com/a/8858241/372643). – Bruno
@ Bruno의 덧글을 한번 더 강조하겠습니다. 요청 라인이 SSL로 보호되지 않았다는 것을 어떻게 알 수 있습니까? 나중에 몇 가지 설명을 반복합니다 : "쿠키는 암호화되지 않고 요청 줄이 아닙니다"... 이것은 사실이 아닙니다. SSL은 IP 페이로드를 터널링하며 모든 HTTP 프로토콜은 그 일부입니다 (요청 행, 헤더, 페이로드 ...). 요청 라인은 * application * (브라우저, 로그) 레이어에서 매우 간단합니다. 하지만, 조금 더 복잡해 지더라도 여기에 같은 보안 누출이 있습니다. – mtraut