Функция бана не работает

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 633 раза
Поблагодарили: 2413 раз

Re: Функция бана не работает

Сообщение rxu »

Это объявление функции. В теле скрипта используется?
Изображение
Аватара пользователя
b0n3Z
phpBB 1.2.1
Сообщения: 28
Стаж: 17 лет 7 месяцев

Re: Функция бана не работает

Сообщение b0n3Z »

Как проверить? скрипт ничем не отличается от стандартного из поставки phpbb 3.04.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 633 раза
Поблагодарили: 2413 раз

Re: Функция бана не работает

Сообщение rxu »

Поиском в тексте файла по check_ban.
Изображение
Аватара пользователя
b0n3Z
phpBB 1.2.1
Сообщения: 28
Стаж: 17 лет 7 месяцев

Re: Функция бана не работает

Сообщение b0n3Z »

Код: Выделить всё

1. 				$this->check_ban($this->data['user_id'], $this->ip);
2. 				$this->check_ban($this->data['user_id'], $ips);
3. 	function check_ban($user_id = false, $user_ips = false, $user_email = false, $return = false)
4. 		if (defined('IN_CHECK_BAN'))
5.				define('IN_CHECK_BAN', 1);
6.			if (empty($this->session_id) && defined('IN_CHECK_BAN'))
это все, что было
Аватара пользователя
b0n3Z
phpBB 1.2.1
Сообщения: 28
Стаж: 17 лет 7 месяцев

Re: Функция бана не работает

Сообщение b0n3Z »

После месяца поисков, наконец-то нашел проблему. Она заключалась в таблице БД banlist. Полям ban_ip, email, reason были присвоены подтипы кодировок utf8_general_ci и не имелось значения по умолчанию. :geek: Выражается благодарность rxu за его трату времени на форум.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 633 раза
Поблагодарили: 2413 раз

Re: Функция бана не работает

Сообщение rxu »

Да... этого я бы никакими тестами не выявил.
А в связи с чем произошло такое?
Изображение
Аватара пользователя
b0n3Z
phpBB 1.2.1
Сообщения: 28
Стаж: 17 лет 7 месяцев

Re: Функция бана не работает

Сообщение b0n3Z »

rxu писал(а):Да... этого я бы никакими тестами не выявил.
А в связи с чем произошло такое?
Без понятия. Возможно, проделки второго администратора. Возможно, из-за конвертации и нескольких переносов бд.
Suhamor
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 5 месяцев

Re: Функция бана не работает

Сообщение Suhamor »

Народ, у меня тоже бан не работает.
Для проверки создал новую учётную запись, простого пользователя. Забаниваю - происходит разлогинивание забаненого юзера, но доступ к форуму у него остаётся.
Причём независимо от того, баню ли я по нику или по IP-адресу.

Как решить проблему? Что там с таблицей banlist сделать нужно?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 633 раза
Поблагодарили: 2413 раз

Re: Функция бана не работает

Сообщение rxu »

По крайней мере, проверьте кодировки полей и наличие/отсутствие у них значений по умолчанию.
Изображение
Suhamor
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 5 месяцев

Re: Функция бана не работает

Сообщение Suhamor »

О каких полях речь и как проверить ихние кодировки?
Suhamor
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 5 месяцев

Re: Функция бана не работает

Сообщение Suhamor »

Залез в базу данных через php My Admin.

Нашёл поля ban_ip, ban_email, ban_reason, ban_give_reason. В столбце "По умолчанию" напротив этих параметров ничего не было. Я выставил значения помолчанию - "0".
Кроме того, как я понял из сообщения пользователя b0n3z, проблема ещё в кодировках.

В частности, он написал следующее - "Полям ban_ip, email, reason были присвоены подтипы кодировок utf8_general_ci и не имелось значения по умолчанию."

У меня там стоят кодировки utf8_bin.

В связи с этим у меня 2 вопроса.

1. Какое должно быть значение по умолчанию у полей ban_ip, ban_email, ban_reason и ban_give_reason?

2. Какая кодировка должна быть у этих полей - utf8_bin или же какая-то другая?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 633 раза
Поблагодарили: 2413 раз

Re: Функция бана не работает

Сообщение rxu »

Suhamor
Попутный вопрос - вы на новую версию MySQL не переезжали перед тем как работать перестало?
Suhamor писал(а):1. Какое должно быть значение по умолчанию у полей ban_ip, ban_email, ban_reason и ban_give_reason?2. Какая кодировка должна быть у этих полей - utf8_bin или же какая-то другая?
Ответ на этот вопрос дает схема БД:
mysql_41_schemw.sql писал(а):CREATE TABLE phpbb_banlist (
ban_id mediumint(8) UNSIGNED NOT NULL auto_increment,
ban_userid mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
ban_ip varchar(40) DEFAULT '' NOT NULL,
ban_email varchar(100) DEFAULT '' NOT NULL,
ban_start int(11) UNSIGNED DEFAULT '0' NOT NULL,
ban_end int(11) UNSIGNED DEFAULT '0' NOT NULL,
ban_exclude tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
ban_reason varchar(255) DEFAULT '' NOT NULL,
ban_give_reason varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (ban_id),
KEY ban_end (ban_end),
KEY ban_user (ban_userid, ban_exclude),
KEY ban_email (ban_email, ban_exclude),
KEY ban_ip (ban_ip, ban_exclude)
) CHARACTER SET `utf8` COLLATE `utf8_bin`;
Изображение
mexanik
phpBB 1.0.0
Сообщения: 2
Стаж: 13 лет 7 месяцев

Re: Функция бана не работает

Сообщение mexanik »

Вижу, что тема уже достаточно старая, но создавать новую не решился, раз уже есть подобная.

На форуме перестала работать функция бана. Происходит примерно следующее. Я блокирую какого либо пользователя за спам, а он снова потом заходит на форум и свободно пишет. При этом он исключается из бан листа.

Полез в БД.
Поля ban_ip, ban_email, ban_reason и ban_give_reason были без значений по умолчанию. Проставил для этих полей нули, но это не помогло.
В качестве теста создал тестового пользователя. Сам же его заблокировал. При блокировке происходит его разлогирование, но он потом снова может свободно войти.
Над проблемой сижу уже несколько дней, но настал уже какой то ступор. Подскажите в каком направлении дальше копать.
RC86rus
phpBB 1.0.0
Сообщения: 4
Стаж: 17 лет 7 месяцев
Благодарил (а): 2 раза

Re: Функция бана не работает

Сообщение RC86rus »

Возможно кто-то из знающих откликнется:

Баню пользователя по нику, а он пишет и пишет, как будто ничего не произошло.
Забанил тестовый аккаунт для проверки: при входе надпись о том, что доступ закрыт и последующее разлогинивание. Написать ничего невозможно с тестового аккаунта после бана.

Но забаненный пользователь продолжает писать посты...

PS. Таблицу, в силу своих возможностей, проверил, порядок значений немного другой почему-то у меня.
Таблица во вложении.

Заранее благодарен за возможную помощь.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Функция бана не работает

Сообщение nissin »

Посмотрел табличку, вроде в норме. Варианты:
1. пользователь является основателем
2. пользователь завёл себе новый ник со схожим написанием

Вернуться в «Поддержка phpBB 3.0.х»