2012-04-25 2 views
3

저는 HTML5의 javascript 및 localstorage 사용법이 매우 새롭습니다. 현재 내 사이트에서 PHP 세션을 사용하고 있으며이 시간에 쿠키를 사용하여 세션을 갱신 할 때 localstorage로 이동하려고합니다.로컬 저장소가있는 세션

저는 localstorage가 클라이언트 측 함수이고 PHP와 같은 서버 측이 아니라는 것을 알고 있습니다. 따라서이 방법에 접근하는 방법을 생각하기가 어렵습니다.

내가하고 싶은 일은 localstorage 값을 설정하는 것입니다. (이미 완료했습니다)하지만 세션 변수로 다시 설정하기 위해 PHP로 다시 전달할 수 있어야합니다 (이 작업을 내 사이트로해야합니다.) 한 번에 100 페이지가 넘는 세션 변수가 50 개 이상 있으므로 localstorage를 사용하여 쿠키 대신 세션 변수를 다시 생성하기 만하면됩니다.

누구든지 나를 도와 줄 수 있다면 많은 감사를드립니다. 너

+2

정말 좋습니까? 로컬 저장소는 클라이언트가 쉽게 변경할 수 있습니다. 클라이언트가 세션을 설정하라는 지시에 의존하지 마십시오. 대신 데이터베이스를 사용하십시오. –

+0

나는 @Truth에 동의한다. 나는 이것의 목적을 보지 못한다. 또는 클라이언트가 데이터를 조작하도록하는 것 이외의 다른 것을함으로써 얻게 될 것이라고 생각할 수있는 것이 무엇인가? – Repox

답변

2

아약스를 사용하거나 이것을 허용하기 위해 서버에 연락하는 방법이 필요하다. 로컬 저장소에 액세스 할 수있는 유일한 방법은 클라이언트 측 스크립트 (자바 스크립트)를 사용하는 것이다. 디 그것을 가진 것. 나는 아약스를 모른다. 그러나 당신은 그것을 조사해야한다. 또한 @Truth에 동의합니다. 로컬 저장소는 특히 쿠키를 사용하지 않으려는 경우에 좋지만 유일한 이점은 사용자가 로컬 저장소를 오프라인으로 사용할 수 있다는 것입니다. 그래서 정말로 그럴 필요가 없습니다. 쿠키를 사용하는 경우 스크립트를 통해 해당 정보에 액세스 할 수 있습니다. 반면에 사용자 브라우저에서 쿠키를 비활성화하는 대신 로컬 저장소를 사용할 수 있습니다.

+0

"homescreen에 추가"webapp이 설정된 시간 동안 PHP.ini 및 쿠키 제한에 로그인하지 않는다고 불평하는 사용자가 있습니다. 웹 사이트를 통해 작동하지만 내 고객은 webapp이 이러한 제한을 따르므로 웹 사이트에서 많은 시간 동안 localstorage를 사용하는 것으로 나타났습니다. @truth - 데이터베이스 사용을 말합니까? 로그인 할 때 사용자의 자격 증명을 확인하기 위해 mysql을 사용하고 있는데 어떻게 세션을 유지하기 위해 데이터베이스를 사용할 수 있습니까? webapp 시나리오에서 작동합니까? 이 솔루션에 관심이 많습니다. 제발 공유하십시오. :) – devfunkd

+0

쿠키가 올바르게 설정되지 않은 이유는 솔직히 모르겠습니다.하지만 내가 알고있는 바에 따르면 항상 쿠키를 설정해야합니다. 쿠키와 데이터베이스로 세션을 유지하는 방법에 관해서는, 데이터베이스에 넣은 잘려진 무작위 문자열과 사용자가 로그인하려고 할 때 쿠키를 만드십시오. 일치하면 일치하는 것이 좋습니다. 로컬 스토리지를 사용하면 Ajax 또는 서버와 통신 할 수있는 다른 형식의 스크립트를 사용하여 서버와 통신해야한다는 점을 제외하고는 사용자가 임의의 해시 문자열을 가지고 있는지 확인해야합니다. 가능한 쿠키/로컬 저장소 도난에주의하십시오. – Andy

+0

쿠키를 설정 중입니다. 브라우저에서 쿠키가 작동해야합니다. "홈 화면에 추가"하고 그런 식으로로드하자마자 쿠키를 무시합니다. 내가 다른 포럼에서 읽었던 내용과 여기에있는 내용은 이것이 일반적이며 localstorage가 해결 방법이라는 것입니다. 랜덤 해시가 PHP 세션 ID가 될까요? – devfunkd

관련 문제