Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
}%> Заметил такую проблему, что, если почистить в браузере историю, собственно у тебя пользователь не будет залогинен на сайте
Очистка истории на авторизацию никак не влияет. Вы чистите cookie.Когда cookie с номером сессии удаляется, то сервер об этом ничего не знает. Её можно потом снова вернуть и авторизация "вернётся". Так и должно быть.
Чтобы старые данные не занимали место, PHP стандартно удаляет сессии, которые последний раз использовались "давно" (интервал зависит от настроек, по умолчанию полчаса). Но это просто таймаут; если человек вернётся со старой cookie через час, то сессия уже будет удалена с сервера и авторизация пропадёт - не смотря на то, что cookie в браузере осталась.
Так что это два независимых механизма, на клиенте и на сервере.
Как я отписал в своем сообщении. У меня реализовано, что может быть залогинен только 1 человек под 1 user_id, в этом случае, если человек почистит историю браузера он не сможет зайти под себя, так как его user_id останется на сервере. Как можно лучше это реализовать и через что?
Заметил такую проблему, что, если почистить в браузере историю, собственно у тебя пользователь не будет залогинен на сайте, а на сервере пользователь остается залогиненым. Как можно исправить эту проблему. Так как я себе сделал, что бы только 1 юзер, мог одновременно сидеть на 1 user_id на сайте. Использую сессии.
2.
$this->validate($request, [
'topic' => 'required',
]);
$image_name = $this->dealWithImage($request);
$news = new News();
$news->image_name = $image_name;
$news->topic = $request->input('topic');
Если я правильно понял
protected function dealWithImage(Request $request)
{
if ($request->hasFile('image'))
{
$image_name = $request->file('image')->getClientOriginalName();
$request->file('image')->move(public_path('images/news/'), $image_name);
return $image_name;
} else {
$image_name = '';
return $image_name;
}
}
}