로그인하면 내 Symfony2 응용 프로그램이 내 PHPSESSID
쿠키를 바꿉니다. 예상되는 동작입니까? 나에게 아무 의미가 없다 ... 왜 같은 것을 유지하지 않는가? PHPSESSID
?로그인시 Symfony2가 PHPSESSID를 대체하는 이유는 무엇입니까?
다음은 좀 더 자세히 설명합니다.
내가 처음 내 응용 프로그램을 안타 URL에 요청을해야합니다, 내 응용 프로그램에 로그인하려면 : 나는 다른 URL (/login
)로 리디렉션하고
PHPSESSID
쿠키를 제공하고 있습니다
$ telnet myapp 80
GET/HTTP/1.1
Host: myapp
. 벌금. 그런 다음 POST
~ /login_check
과 같은 것이 _username=blah&_password=blah
이고 적절한 자격 증명을 제공하는지 여부에 따라 다른 PHPSESSID
쿠키가 전송됩니다. 대부분의 무엇이든이 첫 번째 요청 작동처럼
보인다,하지만 난 (난 그냥 POST
/login_check
및 로그인 할 수 없음) 일부 요청을해야합니다. 이 예상되는 동작입니까?
중요한지 모르지만 FOSUserBundle을 사용하고 있습니다.
로드 밸런서 뒤의 두 웹 서버에 내 애플리케이션을 넣고로드 밸런서에게 PHPSESSID
을 기반으로 한 끈적 거리기를 사용하기 전까지는 아무런 문제가 없다고 생각합니다. 상상할 수 있듯이 PHPSESSID
대체 동작으로 인해 클라이언트가 다른 웹 서버로 반송되는 경우 로그인이 작동하지 않습니다.
가능한 중복 : Symfony2: login does not work on first try after clearing cookies
당신이 정교하게됩니다
이것은 또한 여기에 대한 내 문제, 지원 로케일과 관련이있을 수 있습니까? 더 나은 옵션은 무엇일까요? 로드 균형 조정기는 HTTPS 트래픽 (웹 서버를 해독 한 다음 다시 암호화 함) 만 허용하기 때문에 세션 고정 (쿠키 하이재킹?)은 아마 우리 환경에서는 무의미합니다. PHPSESSID가 쿼리 문자열에없는 한. –
뭐라고 요? 그 위키 페이지를 더 자세히 작성하길 원하십니까? 음, 예, 사람들은 항상 브라우저를 잘못 구성합니다. 다른 악의적 인 도메인 _에서 _ 도메인 _ 도메인의 쿠키를 수락하고, 다른 사이트의 도메인에 양식을 게시하도록 속여서 URL의 '이상한'값이있는 링크를 클릭하십시오. 하나 : 당신이 정말로 그것을 방지하기 위해 몇 가지 예방 조치를 취하고 싶습니다 : 그러나 세션 쿠키를 식별자로 사용하기를 주장한다면, 당신은 항상 동일한 서버에서 끝나고 세션 ID를 세션 ID로 생성 할 수 있습니다. – Wrikken
알았어, 친구 가져와. :) 유용한 위키 페이지 야. 고마워! 다음은 내가 염두에두고 있던 일종의 정교함입니다. (1)로드 밸런서를 다르게 구성 할 수 있는지 확인하십시오 (2) http://stackoverflow.com/questions/10801916/ssl-and-session-hijacking-fixation. 로드 균형 조정기 (Amazon Elastic Load Balancer)가 끈적 거리기 위해 [세션] 쿠키를 제공하며, 이는 정상적으로 작동하는 것으로 보입니다. –