브라우저 동작을 에뮬레이션하는 Java 코드가 있습니다. 예를 들어, login, doSomething, logout과 같이 Tomcat 서버와의 상태 저장 대화를 수행합니다.톰캣 웹 서버와 대화하는 동안 JSESSIONID가 변경되는지 확인해야합니까?
현재의 구현은 다음과 같다 :
- HTTP 포스트에 "로그인"페이지, 저장소가 쿠키를 반환 (은 = 9845 JSESSIONID의 가정).
- HTTP 포스트는 "해봐요"페이지 쿠키를 저장 합격 (= 9845 JSESSIONID) 요청과 응답 헤더 (무시 더 쿠키)와 함께 아무것도 할
- HTTP GET (JSESSIONID 저장된 쿠키를 통과, 페이지를 "로그 아웃"을 = 9845)를 요청합니다.
괜찮습니다.
2 단계에서 응답 헤더를 무시하는 것이 안전한지 잘 모르겠습니다. 대화 중에 서버가 값을 JSESSIONID로 변경해야합니까?
즉, 2 단계에서 수행 할 작업은 무엇입니까? 서버는 응답 헤더에 Set-Cookie = [JSESSIONID = 9846]을 반환합니까?
나는 다음을 상상할 수 :
- 이 실제 생활에서 일어날 수없는이, 가치가 그것을 확인하기 위해, 현재 코드는 괜찮습니다.
- 이것은 톰캣 서버에 심각한 문제가 있음을 보여 주며 확인해 볼 가치가 있으며 코드는 추가 호출없이 대화를 중단해야합니다.
- 톰캣 서버는 세션에 대한 새로운 식별자를 사용하기를 원하므로 새 값을 저장하고 후속 호출에서 사용하십시오. 현재 코드가 완료되어야합니다.
실제 브라우저는 위의 3 가지 옵션을 사용하지만 1과 2를 함께 사용하는 것 같습니다. 2. 옵션도 사용할 수 있습니까?
실제 브라우저는 3 일 것입니다. tomcat이 실제로 세션 번호를 다시 매길 지 여부는 다른 문제입니다. ** 세션 무효화 **를 제외하고는 - 로그 아웃이 아닌 것 같습니다. –