Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
По мотивам https://fluxbb.qb7.ru/forum/viewtopic.php?id=1974
----------
1. Меняем файл login.php.
После
// Update the status if this is the first time the user logged in
if ($cur_user['group_id'] == PUN_UNVERIFIED)
$db->query('UPDATE '.$db->prefix.'users SET group_id='.$pun_config['o_default_user_group'].' WHERE id='.$cur_user['id']) or error('Unable to update user status', __FILE__, __LINE__, $db->error());
добавляем
// перезаписываем ip админа и модератора - Visman
if ($cur_user['group_id'] == PUN_ADMIN || $cur_user['group_id'] == PUN_MOD)
$db->query('UPDATE '.$db->prefix.'users SET registration_ip=\''.$db->escape(get_remote_address()).'\' WHERE id='.$cur_user['id']) or error('Unable to update user IP', __FILE__, __LINE__, $db->error());
2. Меняем файл include/functions.php в части ф-ии check_cookie.
После
// If user authorisation failed
if (!isset($pun_user['id']) || md5($cookie_seed.$pun_user['password']) !== $cookie['password_hash'])
{
$expire = $now + 31536000; // The cookie expires after a year
pun_setcookie(1, md5(uniqid(rand(), true)), $expire);
set_default_user();
return;
}
добавляем
// проверка ip админа и модератора - Visman
if (($pun_user['g_id'] == PUN_ADMIN || $pun_user['g_moderator'] == '1') && $pun_user['registration_ip'] != get_remote_address())
{
$expire = $now + 31536000; // The cookie expires after a year
pun_setcookie(1, md5(uniqid(rand(), true)), $expire);
set_default_user();
return;
}
Редактировался Visman (2010-07-03 12:26:45)
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Visman, вот такая проверка устарела
$pun_user['g_id'] == PUN_MOD
т.к. в 1.4 может быть несколько модераторских групп.
Сама идея мода понятна. Правда лучше бы проверялся не конкретный IP, а подсеть, т.к. типично пользователь выходит в инет из "домашней" сети где адрес выделяется динамически из некоторого пула.
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Offline
Правда лучше бы проверялся не конкретный IP, а подсеть,
В течении одного сеанса связи все равно IP не меняется, т.ч. это не сильно критично.
А с определением подсети наверное возникнут проблемы!?
вот такая проверка устарела
Лучше уж такая, чем совсем модераторов не проверять
Или появились другие возможности определения модераторов?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
В современной функции check_cookie() в include/functions.php есть такое:
$pun_user['is_admmod'] = $pun_user['g_id'] == PUN_ADMIN || $pun_user['g_moderator'] == '1';
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Offline
artoodetoo, спасибо!
Поменял в первом посте условие.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Страницы 1