Перейти к содержанию
Форум поддержки пользователей VamShop

Время бездействия админа


Рекомендуемые сообщения

Подскажите плз, как поменять время бездействия админа, через которое его выкидывает из админки.

Все облазил. Не нашел :(

Ссылка на сообщение
Поделиться на другие сайты

А вот я тебе говорил про /admin/includes/functions/sessions.php

Про $SESS_LIFE

Это не помогает как я понял, правильно?!

Ссылка на сообщение
Поделиться на другие сайты

Я тебе тоже говорил :)

Не помогает, это время жизни самой сессия до ее убития гарбедж-коллектором.

Фактически это должно быть время жизни куки (где есть ид сессии), однако изменение этого времени ни к чему не привели :(

Ссылка на сообщение
Поделиться на другие сайты

Антон

А вот это пробовал смотреть - http://addons.oscommerce.com/info/3907

Сейчас тоже попробую этот вариант, может подойдёт.

Ссылка на сообщение
Поделиться на другие сайты

Скачал я этот файл, посмотрел его, и ничего не понял

там как раз идет речь про SESS_TIME

сейчас попробую

Ссылка на сообщение
Поделиться на другие сайты

Ну да, это я тоже понял, чуть ниже написал, что это не то, такой вариант работать не будет.

Просто значение $SESS_LIFETIME перенесосится в базу данных и всё.

Я даже и не знаю как правильно увеличить жизнь админа.

Ссылка на сообщение
Поделиться на другие сайты

Так и не решили эту проблему? Достало уже писать логин/пароль, и отвлечься никуда нельзя :( Сам тоже искал, увы, не нашел.

Ссылка на сообщение
Поделиться на другие сайты

Лично я пока не знаю решения.

Может разве что попробовать в php.ini указать время жизни в опции session.cookie_lifetime или в session.gc_maxlifetime

Ссылка на сообщение
Поделиться на другие сайты

$SESS_LIFE работает только в том случае, если сессии хранятся в базе.

1. Определяем константу (явно или через таблицу конфигурации):

define('SESSION_TIMEOUT_ADMIN', '4800');

2. /admin/includes/functions/sessions.php.

Ищем:

$expiry = time() + $SESS_LIFE;
заменяем на
$expiry = time() + SESSION_TIMEOUT_ADMIN;
Ищем и комментируем на фиг за ненадобностью:

//    if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
//      $SESS_LIFE = 1440;
//    }
[/code] а также
[code]//      global $SESS_LIFE;
Ищем
  function vam_session_start() {
    return session_start();[/code]   } заменяем на
[code]  function vam_session_start() {
@ini_set('session.gc_maxlifetime', SESSION_TIMEOUT_ADMIN);
    return session_start();
  }

Аналогично можно регулировать время жизни для простого юзера. Более того, если админ болтается по магазину, а не в админке, то его система воспринимает как простого юзера, поэтому лучше в /includes/functions/sessions.php добавить аналогичный код, но у же с проверкой на принадлежность юзера к касте админов.

Ссылка на сообщение
Поделиться на другие сайты

Спасибо, сейчас тогда добавлю данный код в магазин.

А проверять юзера на принадлежность админам я так понимаю нужно примерно так:


if ($_SESSION['customers_status']['customers_status_id'] == 0) {
Вот этот изменённый код из /admin/includes/funtions/sessions.php
}
[/code]

Ссылка на сообщение
Поделиться на другие сайты

ABerezin - я сейчас проверю, но помнится я так уже пробовал, то есть задавал напрямую через ини_сет, и напрямую ставил сесс_лайф. Насчет сесс_лайф ВаМ давал мне ссылку на озкоммерц. В принципе идеально будет совместить твой вариант (если он сработает, не хочу обижать, просто надо проверить) и возможность настройки этого самого времени (как это сделано в озкоммерце)

Ссылка на сообщение
Поделиться на другие сайты

Я же написал как сделать "настройку" - объявить эту константу через таблицу БД  configuration.

Не забудь про фронт - если админ, но ходишь по магазину, то на тебя распространяются законы жизни простого юзера.

Ссылка на сообщение
Поделиться на другие сайты

Ребят, а зачем делать проверку админ/не админ. Поставить всем пользователям тайм-аут в час или два и дело с концом. Лично меня бы это устроило.

Ссылка на сообщение
Поделиться на другие сайты

Тогда другое предложение. VaM, может сделаешь в админке в настройках сессий две опции: тайм-аут для админов и для покупателей?

Ссылка на сообщение
Поделиться на другие сайты

Так а зачем вообще таймаут покупателю?

Он часами без действия сидит в магазине?

Я думаю, что для админа действительно полезно сделать такую опцию, а для покупателя зачем?

Ссылка на сообщение
Поделиться на другие сайты

Для гибкости. Тем, кому это надо. Например forgeh. А если задан 0, то брать значение из системных настроек.

Ссылка на сообщение
Поделиться на другие сайты

А за компанию :)

Я считаю, что стандартных 10 мин. мало. Не обязательно опцию, но хоть дефолтовые настройки увеличить.

>>Он часами без действия сидит в магазине?

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

Да и вообще я нигде не припомню, чтобы время жизни сессий зависело от типа пользователя.

Ссылка на сообщение
Поделиться на другие сайты

Думаю, что программеры из ebay.com при количестве во многие тысячи пользователей понимают толк в "секьюрности". Но и у них есть галочка "keep me signed in for today".

Ссылка на сообщение
Поделиться на другие сайты

Работает нормально.

Только я не делал последнюю проверку на принадлежность к админам. Так что насчет этого не скажу ничего.

У меня открыты два окна в опере - Админка и Магазин. И все работает нормально.

Ссылка на сообщение
Поделиться на другие сайты

  Цитата

Думаю, что программеры из ebay.com при количестве во многие тысячи пользователей понимают толк в "секьюрности". Но и у них есть галочка "keep me signed in for today".

До чего народ любит спорить! Ты хоть подумай сначала почему так делают. Правильно делает eBay - это решение должен принимать ЮЗЕР, а не программер или админ магазина. Здесь речь идёт не о безопасности магазина, а о безопасности данных юзера. Потому что это он, вменяемый юзер никогда не выставит галочку "keep me signed in for today" сидя в интернет кафе или в другом месте, где он не может обеспечить неприкасаемость своего компьютера!

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...