У меня есть небольшая проблема с моим проектом smarty, проблема выхода из системы, чтобы быть точным. У меня есть страница index.php, которая является «главной» страницей, и она получает данные POST и направляет действия на основе текущих данных. Там проверяется, были ли установлены переменные сеанса. Теперь, когда я войти в меня функцию следующим образом: функцияlogout issue в smarty template engine
function login($value)
{
$res = $this->sql->checkLogin($value);
if($res)
{
//checks if user is admin
$isadm = $this->sql->isAdm($value);
if($isadm == true)
{
$_SESSION['user'] = $value['name'];
$_SESSION['adm'] = true;
$message = 'Admin';
$this->tpl->assign('var', $message);
if($_SESSION['adm'] == true)
{
//sets some variables for admin users
$navigation = 'navi';
$this->tpl->assign('navigation', $navigation);
}
$this->tpl->display('maint_main.tpl');
}
//user is not admin
else
{
$_SESSION['user'] = $value['name'];
$_SESSION['adm'] = false;
$message = 'Perus';
$this->tpl->assign('var', $message);
if($_SESSION['adm'] == true)
{
$navigation = 'navi';
$this->tpl->assign('navigation', $navigation);
}
$this->tpl->display('maint_main.tpl');
}
}
//login failes, show login form and info
else
{
$message = 'Login failed';
$this->tpl->assign('var', $message);
$this->tpl->display('login_form.tpl');
}
}
и выхода из системы:
function logout()
{
setcookie(session_name(), '', time()-42000, '/');
session_unset();
session_destroy();
$this->tpl->display('login_form.tpl');
}
Они работают только о том, как они, как предполагается, но реальная проблема возникает, когда я вхожу, и перенаправлять login_form.tpl. Если я использую кнопку «Назад» браузера, данные POST с именем пользователя и паролем извлекаются, и логин снова проходит. Это приводит к тому, что эти страницы за регистрацией по-прежнему доступны для просмотра. Поскольку я не очень хорошо знаком с Smarty, я не мог понять, как это исправить. Итак, в основном, как предотвратить доступ к данным POST после выхода из системы?
Можете ли вы дать нам полный код данных login_form и logout, чтобы четко понять вашу проблему? – Akilsree1
, или если вы хотите использовать только в php, попробуйте запрограммировать его, используя теги {php} {/ php} – Akilsree1