2014-10-30 4 views
2

로그인 예를 위해 데이터베이스를 사용하지 않고 브라우저 로컬 저장소를 사용하려고했습니다. 나는 사용자가 'username'과 'password'를 줄 때 브라우저 로컬 저장소에서 확인한 다음 로그인 할 수 있음을 의미합니다. HTML5의 localStorage.setItem 및 localStorage.getItem을 사용하여 데이터를 가져 와서 보여줍니다. 은 여기 내 코드 -브라우저 로컬 저장소에 데이터를 저장하는 방법

var user_name=document.getElementById('userName').value; 
var user_pswd=document.getElementById('password').value;     
localStorage.setItem("user", user_name); 
localStorage.setItem("pass", user_pswd);      
// Retrieve      
document.getElementById("output").innerHTML = localStorage.getItem("user"); 

그것은 데이터를 설정하고 사용자 이름이 표시되지만 브라우저를 다시 시작한 후 데이터를 얻을 수 있습니다? 처음 로그인 할 때 브라우저 데이터로 어떻게 확인할 수 있습니까? 제발 어떤 도움을 주셔서 감사합니다.

+0

이 작업은 안전하고 정상적인 작업이 아닙니다. –

+0

Yaa 알아요. 그런 식으로해야합니다. 제발 도와주세요. – Subho

+0

[HTML5 localStorage에서 개체 저장] 가능한 복제본 (http://stackoverflow.com/questions/2010892/storing-objects-in-html5-localstorage)) – Arashsoft

답변

3

브라우저를 다시 시작하면 로컬 저장 데이터가 삭제되지 않습니다.

당신이 당신의 사건에 대한 조건

if ((localStorage.getItem("userName") !== null) && (localStorage.getItem("password") !== null)) 
{ 
    // you have values for both userName and password 
} 

다음 텍스트 상자 값이 로컬 스토리지의 값과 일치 여부를 테스트 할 수 있습니다와 함께 두 키 (사용자 이름, 암호)에 대한 데이터가 있는지 확인할 수

if ((localStorage.getItem("userName") === null) && (localStorage.getItem("password") === null)) 
{ 
    localStorage.setItem("user", "Subho"); // writes name and password to local storage if not exists 
    localStorage.setItem("pass", "Subho"); 
} 

if ((localStorage.getItem("user") == document.getElementById('userName').value) 
{ 
    if ((localStorage.getItem("pass") == document.getElementById('password').value) 
    { 
     // login is successful 
    }   
} 

그러나 안전한 로그인 방법이 아니므로 로컬 저장소 데이터를 사용자가 액세스 할 수 있습니다.

+0

UR에 감사드립니다.하지만 좀 더 설명해 드리겠습니다. username과 paswrd를 모두 'Subho'라고합시다. 로그인하는 동안 localStorage의 값을 텍스트 상자의 값으로 확인하는 방법은 무엇입니까 ?? – Subho

+0

답변을 업데이트했지만 사용자 로그인을위한 권장 방법이 아님을 상기시켜야합니다. –

+0

다른 방법이 있습니까 ?? 같은 세션이나 뭐? – Subho

관련 문제