2011-01-10 7 views
7

쿠키와 같은 것이 필요하지만 특별히 서버로 되돌리려하지 않습니다. 나는 이것을 "클라이언트 측 세션 쿠키"라고 부르지 만, 합리적인 메커니즘은 훌륭 할 것이다.클라이언트 측 전용 쿠키

기본적으로 서버에 암호화 된 데이터를 저장하고 사용자가 브라우저에 암호를 입력하도록하고 싶습니다. 브라우저는 암호로 데이터를 암호 해독하거나 암호로 데이터를 만들고 암호화하며 서버는 암호화 된 데이터 만 저장합니다. 서버의 데이터 보안을 유지하기 위해 서버는 암호를 저장해서는 안되며 절대로 암호를 받아서는 안됩니다. 이상적으로 쿠키 세션 만료가 있어야 정리할 수 있습니다.

물론 사용자가 웹 사이트를 탐색 할 때 여러 페이지에서 사용할 수 있어야합니다.

제가 생각할 수있는 최선의 방법은 자바 스크립트 변수에 데이터를 저장하는 일종의 iframe 메커니즘이지만,보기 흉합니다. 아무도 이런 식으로 뭔가를 구현하는 아이디어가 있습니까?

FWIW 플랫폼은 ASP.NET이지만 중요하지는 않습니다. 모바일을 포함하여 다양한 브라우저를 지원해야합니다.

아래의 한 가지 대답에 대한 답변으로 명확하게 설명해 드리겠습니다. 내 질문은 암호화를 달성하는 방법이 아니라 문제입니다. 문제는 암호를 저장하여 페이지마다 유지되지만 세션을 넘어서는 것이 아니고 서버가 암호를 볼 수 없도록하는 방법입니다.

+0

데이터를 서버에 암호화 된 상태로 유지하고 사용자가 암호를 가지고있을 때만 액세스 할 수 있습니다. –

+0

예, 이것은 자바 스크립트에서 수행해야합니다. 그러나 많은 양의 데이터를 처리하는 경우 클라이언트 브라우저에 많은 처리 작업을 수행해야합니다. –

답변

5

당신이 찾고있는 것을 위해 나는 자바 스크립트가 당신이 할 수있는 최선이라고 말할 것입니다.

암호화 된 데이터를 서버로 가져 와서 클라이언트 측의 javascript를 사용하여 해독 할 수 있습니다. 비밀 번호의 전송, 사용자에 대한 비밀이 없습니다.

그것은 당신이 사용하고 있지만

(예를 Stanford Javascript Crypto Library에 대한) 그것을위한 라이브러리가있다 (하지만 쿠키에 대해 이야기하는 이유를 이해하지 않습니다) 당신이에 관심이 있다면

을하는 암호화 알고리즘에 따라 달라집니다 저장 측면보다는 암호화 측면은, 아마 당신은 고려해 볼 수 있습니다 토마스 프랭크의 session variables

+0

답변 해 주셔서 감사합니다. 제 질문은 암호 자체에 관한 것이 아니라 암호를 저장하는 위치에 관한 것입니다. 그러나 명확하게하기 위해 제 질문을 편집 할 것입니다. –

+0

나는 오해했다. 아마도 세션 변수를 봐라. http : //www.thomasfrank.se/sessionvars.html –

+0

보안 문제를 해결해야하지만, sessionvars는 완벽 해 보인다. 그래서 당신의 대답보다는 당신의 의견을 받아들이고 싶습니다 :-) 나는 당신의 대답을 대신 받아 들일 것입니다. 당신의 도움을 주셔서 감사합니다. –

10

당신은 자바 스크립트의 로컬 스토리지 개체를 사용할 수 있습니다. Dive Into HTML5 전자 서적에는 훌륭한 장이 있습니다. 이 장에서는 localStorage를 지원하지 않는 브라우저의 몇 가지 가능한 해결 방법에 대해서도 언급합니다.