@winers
Начинающий программист

Как сделать чтобы после logina оставаться залогиненым на любых вкладках?

Ребят есть форма входа и регистрации, после входа происходит переход на другую страницу сайта приложения.
На текущей вкладке с которой был вход, пользователь остается залогиненый, но если зайти на сайт с другой вкладки, то опять кидает на страницу входа, хотя куки должны же сохраняться что пользователь залогинился...
Подскажите где ошибка?

вот что происходит после входа
ajax("core/login.php", "POST", signin, data);
  function signin(result) {
    if (result == 2) {
      alert('Заполните все поля')
    }
    else if (result == 0) {
      alert('Неправильный логин или пароль!')
    }
    else {
      console.log(result);
      result = JSON.parse(result);
      let d = new Date();
      d.setTime(d.getTime() + (24*60*60*1000));
      let expires = d.toUTCString();
      document.cookie = `email=${result.email}; expires=${expires}; path=/`;
      location.href="app.html";
    }
  }


вот выход

document.querySelector("#exit").onclick = function(){
  let c = document.cookie;
  console.log(c);
  let d = new Date();
  d.setTime(d.getTime() - (24*60*60*1000));
  let expires = d.toUTCString();
  document.cookie = `${c}; expires=${expires}; path=/`;
  location.href="index.html";
}


вот сайт bespoleznyi.site

В идеале еще и после входа отображать имя указанное при регистрации)
Подскажите пожалуйста)
  • Вопрос задан
  • 303 просмотра
Пригласить эксперта
Ответы на вопрос 2
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Во-первых, хранить в куках email для подтверждения авторизованности пользователя - глупо. Обычно там хранят какой-нибудь уникальный MD5, который ещё и в базе залогиненных пользователей хранится. А так можно взять известный email известного пользователя, засунуть его в cookie - и вуаля, я авторизован под этим пользователем.

Во-вторых, cookie можно выставлять с самого сервера во время AJAX-запроса, и это будет правильнее. Нельзя такой функционал делегировать JS, который виден и выполняется на стороне пользователя.

P.S. В области безопасности игнорирование устоявшихся стандартов и изобретение своих хитрозакрученных "велосипедов" может очень больно спустить на землю.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы