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

Я использую сеансы.

Как я смогу это исправить ..? Я использую codeigniter

2
san 7 Сен 2016 в 08:15

2 ответа

Спасибо, Вольфганг.

Для тех, у кого есть подкаталог для размещения CI, вы можете использовать следующий метод,

if(isset($_SERVER['HTTPS'])){
    $protocol = ($_SERVER['HTTPS'] && $_SERVER['HTTPS'] != "off") ? "https" : "http";
}else{
    $protocol = 'http';
}

$actual_link = $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$_SERVER['REQUEST_URI_PATH'] = str_replace($config['base_url'], '', $actual_link);

$segments = explode('/', $_SERVER['REQUEST_URI_PATH']);

$config['sess_driver'] = 'files';

if ($segments[0] == 'admin') {

    $config['sess_cookie_name'] = 'admin_sessions';
    $config['sess_expiration'] = 1440;
    $config['sess_save_path'] = FCPATH . 
    'application/cache/session/admin/';

} else {

    $config['sess_cookie_name'] = 'catalog_sessions';
    $config['sess_expiration'] = 7200;
    $config['sess_save_path'] = FCPATH . 
    'application/cache/session/catalog/';

}

$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;
0
bravo net 29 Мар 2017 в 15:04

Простой Различайте пользователя, задав переменную сеанса

Установить сеанс для пользователя

$_SESSION['user']['username']; 

Установить сессию для админ панели

$_SESSION['admin']['username'];
1
JYoThI 7 Сен 2016 в 05:35