Topic: Простой способ создания пользователей на PunBB
Наверное при первой мысли о создании пользователей на форуме PunBB сразу же вспоминается офф расширение Add Users. Способ хороший и к тому же безопасный, но немного сложноватый. Есть еще один способ, намного проще. но сразу предупреждаю - не безопасный, особенно если форум распространен и на нем кучкуется много народу. Если проект только развивается и вам нужно добавить много-много юзеров (у всех разные причины для этого могут быть), то можно воспользоваться следующим модом.
Желательно разместить в файле footer.php сразу после:
if (!defined('FORUM'))
exit;
вот это код:
$my_ip = '127.0.0.1';
if (isset($_GET['new_user']) && !empty($_GET['new_user']) && ($my_ip == get_remote_address()))
{
$username = forum_trim($_GET['new_user']);
$salt = random_key(12);
$password_hash = forum_hash($username, $salt);
$query = array(
'SELECT' => 'COUNT(u.id)',
'FROM' => 'users AS u',
'WHERE' => 'u.username=\''.$forum_db->escape($username).'\''
);
$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
if ($forum_db->result($result) < 1)
{
$user_info = array(
'username' => $username,
'group_id' => $forum_config['o_default_user_group'],
'salt' => $salt,
'password' => $username,
'password_hash' => forum_hash($username, $salt),
'email' => '',
'email_setting' => $forum_config['o_default_email_setting'],
'timezone' => $forum_config['o_default_timezone'],
'dst' => $forum_config['o_default_dst'],
'language' => $forum_config['o_default_lang'],
'style' => $forum_config['o_default_style'],
'registered' => time(),
'registration_ip' => get_remote_address(),
'activate_key' => 'NULL',
'require_verification' => false,
'notify_admins' => false
);
add_user($user_info, $new_uid);
$forum_flash->add_info('Hello '.$username);
redirect(forum_link($forum_url['index']), '');
}
}
Теперь расскажу как это работает.
Узнайте ваш IP адрес и замените параметр:
$my_ip = '127.0.0.1';
Сохраните изменения в файле footer.php и перейдите на главную страницу форума. Далее все просто. вам нужно будет всего лишь пройти по ссылке:
yoursite.com/index.php?new_user=PunBB
где PunBB это имя пользователя.
Таким образом достаточно всего лишь подставлять к параметру new_user= любое значение для нового логина и новый пользователь будет зарегистрирован сразу же после перехода по ссылке.
Что же является паролем?
Здесь все просто. Паролем является логин пользователя. Вот это как раз таки и небезопасно. Поэтому, каждый раз после регистрации пользователя, вам нужно будет предупредить того кому вы регистрировали учетную запись о смене пароля.
Если же юзеры вам понадобились в качестве фейковых, то для себя можно придумать краткий префикс из цифр или нескольких хитрых символов в виде пароля подкорректировав следующую строку:
$password_hash = forum_hash($username, $salt);
заменив ее на:
$pass = 'your-pass-123';
$password_hash = forum_hash($pass, $salt);
то есть, теперь для фейковых юзеров у вас будет единый пароль: your-pass-123