2009-09-09 2 views
4

나는이 아래 설정클라이언트의 컴퓨터에서 쿠키가 비활성화 된 경우 세션이 저장되는 위치는 어디입니까? 실제로 세션에 저장되는 내용은 무엇입니까? 설정 파일에서

sessionState의 모드 = "에서 InProc"쿠키 = "false"를

이이 세션 ID 쿠키에 stroed 있음을 나타냅니다합니까? 그렇다면 서버를 선택하여 서버로 보내는 방법과 포스트 백을 통해 어떻게 확인하는지.

브라우저에서 쿠키를 사용하지 않도록 설정하면 세션 (세션 ID 및 세션 변수)이 계속 만들어 집니 까?

여기서 (기본 경로)는 세션에 대해 기본적으로 만들어지고 저장되는 쿠키이며 경로를 변경할 수 있습니까?

세션을 위해 쿠키에 저장되는 데이터의 형식과 종류는 무엇입니까?

세션에 클래스 개체를 저장하면 실제로 쿠키에 저장되는 내용은 무엇입니까?

또한 인증 모드를 쿠키와 함께 사용하는 경우 브라우저에서 쿠키가 비활성화되어 있으면 어떻게됩니까?

+0

내가 참으로 쿠키를 설정하면 다음 세션 ID가 URL에 추가됩니다 것을 알고,하지만 난 그냥 cookiesless 값이 false로 설정되어있는 경우 알고 싶어하고 클라이언트가 사용할 수있다 자신의 컴퓨터에있는 쿠키는 응용 프로그램이 올바르게 작동하거나 중단됩니다. 개인적으로 응용 프로그램이 Josh Stodola의 답변대로 작동하지 않는다고 생각합니다. – Panache

+0

내 게시물의 하단에있는 메모를보십시오. 한 문장으로 쿠키를 완전히 사용하지 않고 세션이 계속있을 것으로 기대하고 쿠키가없는 세션을 사용하지 않으면 앱이 중단됩니다. 예를 들어, 실제로 테스트를 실행했고 내 앱 중 하나에서 로그인 화면을 계속 가져 왔습니다. –

+1

세션 속성 cookieless를 false로 설정하고 브라우저에서 쿠키를 비활성화하고 제대로 작동하는 응용 프로그램을 테스트 한 샘플 응용 프로그램을 만들었습니다. 세션 값은 어디에 저장됩니까? – Panache

답변

-5

각 요청은 내 생각은 클라이언트가 각 요청이 서버가 새로운 세션으로 간주 될 것을

+0

-1 : 분명히 여기에서 일어나는 일에 대한 나의 이해가 아닙니다. –

+0

-1 : 세션이 전혀 작성되지 않습니다. 누가 이것을 투표합니까? –

+0

세션이 생성되었지만 다음 요청에서 sessionId가 포함 된 쿠키를 보내지 않아 응용 프로그램이 sessionId를 찾을 수 없으므로 새 세션 객체가 만들어집니다. 웹 페이지에서 Response.Write (Session.SessionID)를 시도하고 쿠키를 해제하십시오. –

0

새로운 세션을 생성합니다.

16

세션 쿠키는 특별한 비 지속성 쿠키입니다. 메모리에만 저장되므로 대부분의 경우 쿠키가 비활성화 된 경우에도 여전히 정상적으로 작동합니다.

그것은이 같은 sessionID와는 URL에 포함 된 쿠키 session들은이라는 것을 활성화 할 수도 있습니다

http://yourserver/folder/ (암호화 된 세션 여기 ID) 여기

는 MSDN에 대한 링크입니다 /Default.aspx에 자세한 정보와 기사 : http://msdn.microsoft.com/en-us/library/aa479314.aspx

참고 : 그것은 완전히 세션 쿠키를 차단할 수입니다. 예를 들어, IE8에서는 도구> 인터넷 옵션> 개인 정보로 이동했습니다. 슬라이더를 '높음'이상으로 크랭크했을 때 세션 쿠키가 차단되어 내 사이트가 로그인 화면을 통과하지 못했습니다. 실제로 Josh Stodola는이 경우 세션이 서버에 생성되지 않을 것이라고 말했습니다.

그러나 이러한 유형의 동작이 인터넷을 효과적으로 파괴 함을 이해하십시오. 따라서 음모 이론가를 대상으로 사이트를 구축하지 않는 한, 제 생각에 (그리고 세계에서 가장 큰 사이트의 대부분에 대한 의견으로는) 정상적인 규칙에 따라 놀지 않는 사용자의 비율을 조금이라도 높일 필요가 없습니다 .

인터넷의 경우 인터넷은 예상대로 작동하지 않습니다.

+0

권자 ... "쿠키가없는 세션"을 의미합니까? –

+0

이미 고쳐졌으며 천천히! :) –

+0

IE6 ~ IE8에서는 개인 정보> 고급으로 이동하여 자동 쿠키 처리 무시, 체크 박스를 선택하고 "항상 세션 쿠키 허용"을 선택하지 않은 상태에서 세션 쿠키를 비활성화 할 수 있습니다 . 그러나 여전히이 작업을 수행하면 제대로 작동하지 않을 사이트가 많이있을 것입니다. –

0

브라우저에서 요청 헤더를 가져 오는 경우 SessionID가 헤더의 일부임을 알 수 있습니다. 이것은 서버가 어떤 세션이 어떤 사용자에게 속한 것인지를 결정하는 데 사용됩니다.

0

세션 ID가 쿠키를 통해 전달되는 대신 URL의 쿼리 문자열 또는 사용자 지정 HTTP 헤더로 전달됩니다. 그러나 설명 된 시나리오에서는 cookieless를 false로 설정했기 때문에 사용자가 세션을 얻지 못합니다.

+0

쿠키를 false로 설정하고 브라우저에서 쿠키를 비활성화 한 테스트 응용 프로그램을 만들었습니다. 인증 모드는 양식으로 설정됩니다. 응용 프로그램이 여전히 작동하는지 알아봐 주시겠습니까? – Panache

0

개인적으로 구현하지 않았습니다. 그러나 다음과 같아야합니다 :

web.config 파일에서 Cookiless = false이고 브라우저가 쿠키를 비활성화 했으므로 페이지에 대한 첫 번째 요청이 오면 HTTP 모듈은 양식 인증 쿠키를 확인합니다. 이제 로그인 페이지로 사용자를 보내는 비어있을 것입니다. 이제 웹 사이트에서 어떤 페이지에 대한 두 번째 요청이 오면 양식 인증 쿠키가 비어 있고 로그인 페이지로 사용자를 보냅니다. 그래서 모든 요청 사용자는 새로운 세션을 생성해야합니다.

0

아니요, 쿠키를 사용하지 않으면 세션이 작동하지 않습니다.

쿠키를 사용하지 않을 때 세션을 사용하려면 URL을 통해 세션을 전달할 수 있습니다.

+1

이것은 완전히 정확하지는 않지만이 경우에 충분할 수도 있습니다. –

+0

첫 번째 문장 @Subhash에 완전히 틀립니다! –

0

그것은 브라우저에서 직접 저장

0

세션 상태 서버 세션과 클라이언트를 연관 고유 ID를 저장할 수있는 방법은 두 가지가 있습니다; 클라이언트에 HTTP 쿠키를 저장하거나 URL에 세션 ID를 인코딩합니다.

세션 모드 = "InProc"는 웹 서버에 세션 상태 정보를 저장하는 기본 모드입니다. 그러나 cookieless = "false"라고 말하면 쿠키에 저장된 고유 ID를 말합니다. 이 ID는 세션이 생성 될 때 만들어 지므로 포스트 백 ID가 쿠키에서 선택됩니다. 브라우저에서 쿠키가 비활성화되어 있으면 yes 세션이 만들어지고이 ID는 URL을 통해 전달됩니다.

브라우저 설정 -> 개인 정보 -> 콘텐츠 설정 -> 모든 쿠키 및 사이트 데이터 -> 사이트 이름으로 저장 % userprofile % \ AppData \ Roaming \ Microsoft에서 쿠키를 찾을 수 있음 \ Windows \ Cookies이지만 운영 체제마다 다를 수 있습니다.

쿠키에는 일반적으로 민감하지 않은 개인 정보를 저장합니다. 사용자 이름 및 암호와 같은 중요한 데이터를 저장해야하는 경우 해당 데이터를 암호화하는 것이 좋습니다.

쿠키에는 대개 사용자에 대한 정보가 저장됩니다. 자세한 내용은 URL 참조하십시오 http://msdn.microsoft.com/en-us/library/system.web.configuration.sessionstatesection.cookieless(v=vs.110).aspx http://msdn.microsoft.com/en-us/library/ff647070.aspx#pagexplained0002_cookielessforms

관련 문제