Как да съхранявате данни в локално хранилище на браузъра

Опитвах се да не използвам база данни, а локалното хранилище на браузъра за пример за влизане. Имам предвид, че когато потребител даде „потребителско име“ и „парола“, той ще провери от локалното хранилище на браузъра и след това ще може да влезе. Използвам localStorage.setItem и localStorage.getItem от HTML5, за да получа данните и да ги покажа. Ето го моят код-

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");

Той задава данните и показва потребителското име, но възможно ли е да получите данните след рестартиране на браузъра?? Когато се опитам да вляза за първи път, как мога да проверя с данните на браузъра? Моля, всяка помощ е високо оценена..


person Subho    schedule 30.10.2014    source източник
comment
Това не изглежда като безопасно/разумно нещо.   -  person user3459110    schedule 30.10.2014
comment
Да, знам, но трябва да го направя по този начин. Моля, помогнете ми   -  person Subho    schedule 30.10.2014
comment
Възможен дубликат на Съхраняване на обекти в HTML5 localStorage   -  person Arashsoft    schedule 03.05.2017


Отговори (1)


рестартирането на браузъра не изтрива данните от локалното хранилище.

можете да проверите дали имате данни и за двата ключа (потребителско име, парола) със следното условие

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
    }           
}

това обаче не е безопасен метод за влизане, локалните данни за съхранение са достъпни за потребителите

person Alper Cinar    schedule 30.10.2014
comment
Благодаря ви за отговорите, но можете ли да обясните още нещо.. Нека потребителското име и паролата са „Subho“. докато влизам как ще проверя стойността на localStorage със стойността на текстовото поле?? - person Subho; 30.10.2014
comment
актуализирах отговора, но трябва да ви напомня, че това не е препоръчителен начин за потребителско влизане - person Alper Cinar; 30.10.2014
comment
има ли друг начин?? като сесия или нещо подобно?? - person Subho; 30.10.2014
comment
Същият въпрос и при мен. Как да съхранявате данни с помощта на кеш или с помощта на сесия? тъй като данните за локално съхранение се показват всеки път на конзолата на браузъра. - person Maulik; 13.11.2017