Описание проблемы: Долго всё работало хорошо.
Постоянный пользователь с нерусским ником сообщил, что временно находится в Англии и не может войти на форум получая ошибку Fatal error: Call to undefined function gen_rand_string_friendly() in /home/accept/public_html/forum/includes/captcha/plugins/captcha_abstract.php on line 238
Так же на форуме невозможна регистрация, сразу после «Я согласен с этими условиями», эта же ошибка.
Пока делал тестовый аккаунт, несколько раз входил-выходил в ACP. Теперь и у меня такая ошибка и в админку соответственно путь закрыт.
Произведенные изменения, после которых начались неполадки: Давно ничего не менял.
Версия phpBB: 3.0.9
Используемые стили: на основе Сабсильвера2
Версия PHP: 5.2.17
Используемая СУБД и её версия: MySQL 5.0.92-community
Ссылка на конференцию: http://www.accept-archive.ru/forum/index.phpЕсть ли у вас тестовый аккаунт: логин: test0 пароль: testtest
Использовался ли поиск для решения проблемы: да
Если да, то какие запросы вы использовали: ошибка при регистрации, ошибка капчи, ошибка входа и тп
Используемые моды:+ Support Toolkit 1.0.2.1-pl1
+ Simple Topic Description 0_0_2 (Описание темы)
+ Posts merging 1.0.11 secured (Склеивает подряд идущие сообщения)
+ Post Numbers 1.1.0c (нумеровать сообщения)
+ qr306_1.0.2b (доработанный быстрый ответ)
+ Ban List MOD 1.0.10 (Список заблокированных пользователей)
+ Avatar Memberlist 1.0.1 (Аватар в списке "Пользователи")
+ Advanced Similar Topics 1.0.9 (При создании новой темы показывается список имеющихся похожих тем).
+ Auto Groups 1.0.2 (Автогруппирование)
+ Medals System MOD 0.11.1
+ Thanks for post (Rating edition) 1.3.1
+ Тест при регистрации "Пять вопросов - пять ответов" \самопал от Sheer\ (работал отлично).
Не знаю когда случилась проблема. Последний новичок регистрировался летом.
Строка 238, это
$this->code = gen_rand_string_friendly(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS)); в коде
/**
* The old way to generate code, suitable for GD and non-GD. Resets the internal state.
*/
function generate_code()
{
global $db, $user;
$this->code = gen_rand_string_friendly(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS));
$this->confirm_id = md5(unique_id($user->ip));
$this->seed = hexdec(substr(unique_id(), 4, 10));
$this->solved = 0;
// compute $seed % 0x7fffffff
$this->seed -= 0x7fffffff * floor($this->seed / 0x7fffffff);
$sql = 'INSERT INTO ' . CONFIRM_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'confirm_id' => (string) $this->confirm_id,
'session_id' => (string) $user->session_id,
'confirm_type' => (int) $this->type,
'code' => (string) $this->code,
'seed' => (int) $this->seed)
);
$db->sql_query($sql);
}
Куки удалял, проблема осталась. Пожалуйста, помогите.