2014-10-30 83 views
2

我試圖不使用數據庫,但瀏覽器本地存儲的登錄示例。我的意思是當用戶提供'用戶名'和'密碼'時,它會從瀏覽器本地存儲中檢查,然後能夠登錄。 我正在使用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

這看起來並不像一個安全/理智的事情。 – 2014-10-30 06:11:36

+0

Yaa我知道,但我必須這樣做..請幫我 – Subho 2014-10-30 06:18:43

+0

[在HTML5 localStorage中存儲對象]的可能重複(http://stackoverflow.com/questions/2010892/storing-objects-in-html5-localstorage ) – Arashsoft 2017-05-03 14:42:19

回答

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

謝謝你的答案,但你可以解釋一些..讓用戶名和paswrd都是'Subho'。同時登錄如何檢查localStorage的值與文本框的值? – Subho 2014-10-30 06:18:17

+0

我已經更新了答案,但我必須提醒你,這不是推薦的方式,用戶登錄 – 2014-10-30 06:32:14

+0

是否有任何其他方式?像會話或任何東西? – Subho 2014-10-30 06:57:18

相關問題