Я не знаю, является ли это лучшим методом, но я использовал для решения этой проблемы, как это. На страницах, где требуется вход в систему, скажем, в вашем случае «profile.php», я опубликую новую сессию, просто чтобы напомнить браузеру, который вы просматриваете с этой страницы. И затем на странице входа в систему после проверки учетных данных, если пользователь является легитимным, тогда я проверю, существует ли какой-либо сеанс для конкретной страницы. Если это так, я перенаправлю на эту страницу.
в псевдокоде
Первый в profile.php
if(!isset($_SESSION['login'])
header('Location: login.php');
в login.php, после проверки
if(isset($_SESSION['profile'])
header('Location: login.php');
else
header('Location: index.php');
Это когда-то, так как я использовал PHP, поэтому код может быть ржавым, но вы можете следовать логике, подобной этой. Еще раз, могут быть лучшие варианты. Проведите исследование.