Как хранить данные в локальном хранилище браузера

Я пытался использовать не базу данных, а локальное хранилище браузера для примера входа в систему. Я имею в виду, что когда пользователь вводит «имя пользователя» и «пароль», он проверяет локальное хранилище браузера, а затем сможет войти в систему. Я использую 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