Три месяца с phpBB - полёт нормальный

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
GFF
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 7 месяцев
Откуда: Москва

Три месяца с phpBB - полёт нормальный

Сообщение GFF »

Три месяца как впервые поставил phpBB и читаю этот форум. Огромное спасибо, до сего дня всё было понятно, поставил кучу модов, всё работает почему-то :)

но есть три вопроса, прошу знающих подсказать:

1. В каком файле (includes\usercp_register? или includes\functions_validate?) и что нужно исправить, чтобы запретить регистрацию логина с английскими буквами?

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

3. Что и где поменять в topic_view_users (или ещё где?), чтобы список просмотревших тему пользователей выводился бы отсортированным по Дате просмотра с Убыванием?

Спасибо, извините за чайниковские вопросы.
Stas!

Сообщение Stas! »

1. В каком файле (includes\usercp_register? или includes\functions_validate?) и что нужно исправить, чтобы запретить регистрацию логина с английскими буквами?

2. Не будут ли боты, пытающиеся ввести при регистрации тупо ввести английское имя, зацикливаться и бесконечно загружать сервер от такого подхода?
Есть более простые способы защититься от спамеров.
Ну если, конечно, Вы только эти цели приследуете
Роман ShaRP
phpBB 1.4.0
Сообщения: 31
Стаж: 18 лет 9 месяцев
Откуда: Киев

Сообщение Роман ShaRP »

Stas! писал(а):Есть более простые способы защититься от спамеров.
Угу. Поставить
1) Advanced Visual Confirmation
2) Если разрешены посты гостям - Antibot Guest Post, а если еще стоит Quick Reply Form - защитить и его.

И ботов нет.
GFF писал(а):3. Что и где поменять в topic_view_users (или ещё где?), чтобы список просмотревших тему пользователей выводился бы отсортированным по Дате просмотра с Убыванием?
А это из какого мода?
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Нашего общего друга Niels'a Who Viewed A Topic (кто просматривал тему)

Добавлено спустя 10 минут 29 секунд:

Роман ShaRP
по поводу topic_view_users.php. Этот мод я особо не смотрел, но вот решение, думаю то что вам надо.

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

#
#------[ OPEN ] ------------
#
topic_view_users.php

#
#------[ FIND ] -----------
#
	$mode = 'joined';

#
#------[ REPLACE WITH ] -----------
#
	$mode = 'topic_time';

#
#------[ FIND ] -----------
#
	$sort_order = 'ASC';

#
#------[ REPLACE WITH ] -----------
#
	$sort_order = 'DESC';
По дефолту по Дате просмотра с Убыванием
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
GFF
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 7 месяцев
Откуда: Москва

Сообщение GFF »

Stas! писал(а):
Есть более простые способы защититься от спамеров.
Ну если, конечно, Вы только эти цели приследуете
Нет. Надо будет защищаться от спамеров - поставлю соответствующий мод. Так что с вопросами 1 и 2?

Добавлено спустя 25 минут 16 секунд:
Поручик писал(а):по поводу topic_view_users.php. Этот мод я особо не смотрел, но вот решение, думаю то что вам надо.
Огромное спасибо, всё работает.
GFF
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 7 месяцев
Откуда: Москва

Сообщение GFF »

Уточню вопрос: чую, что для запрета английских букв в логинах нужно править что-то здесь, но вот что - не понимаю, чайник-с... :(

===
function validate_username($username)
{
global $db, $lang, $userdata;

// Remove doubled up spaces
$username = preg_replace('#\s+#', ' ', trim($username));
$username = phpbb_clean_username($username);

$sql = "SELECT username
FROM " . USERS_TABLE . "
WHERE LOWER(username) = '" . strtolower($username) . "'";
if ($result = $db->sql_query($sql))
{
while ($row = $db->sql_fetchrow($result))
{
if (($userdata['session_logged_in'] && $row['username'] != $userdata['username']) || !$userdata['session_logged_in'])
{
$db->sql_freeresult($result);
return array('error' => true, 'error_msg' => $lang['Username_taken']);
}
}
}
$db->sql_freeresult($result);

$sql = "SELECT group_name
FROM " . GROUPS_TABLE . "
WHERE LOWER(group_name) = '" . strtolower($username) . "'";
if ($result = $db->sql_query($sql))
{
if ($row = $db->sql_fetchrow($result))
{
$db->sql_freeresult($result);
return array('error' => true, 'error_msg' => $lang['Username_taken']);
}
}
$db->sql_freeresult($result);

$sql = "SELECT disallow_username
FROM " . DISALLOW_TABLE;
if ($result = $db->sql_query($sql))
{
if ($row = $db->sql_fetchrow($result))
{
do
{
if (preg_match("#\b(" . str_replace("\*", ".*?", preg_quote($row['disallow_username'], '#')) . ")\b#i", $username))
{
$db->sql_freeresult($result);
return array('error' => true, 'error_msg' => $lang['Username_disallowed']);
}
}
while($row = $db->sql_fetchrow($result));
}
}
$db->sql_freeresult($result);

$sql = "SELECT word
FROM " . WORDS_TABLE;
if ($result = $db->sql_query($sql))
{
if ($row = $db->sql_fetchrow($result))
{
do
{
if (preg_match("#\b(" . str_replace("\*", ".*?", preg_quote($row['word'], '#')) . ")\b#i", $username))
{
$db->sql_freeresult($result);
return array('error' => true, 'error_msg' => $lang['Username_disallowed']);
}
}
while ($row = $db->sql_fetchrow($result));
}
}
$db->sql_freeresult($result);

// Don't allow " and ALT-255 in username.
if (strstr($username, '"') || strstr($username, '"') || strstr($username, chr(160)))
{
return array('error' => true, 'error_msg' => $lang['Username_invalid']);
}

return array('error' => false, 'error_msg' => '');
===

Подскажите, пожалуйста.
GFF
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 7 месяцев
Откуда: Москва

Сообщение GFF »

Никто не подсказывает.... :(

Может, я не всю информацию нужную привожу? :(
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

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

#
#---- [ OPEN ] -------------------
#
includes/functions_validate.php

#
#---- [ FIND ] ------------------
# in function validate_username
#
	return array('error' => false, 'error_msg' => '');

#
#---- [ BEFORE, ADD ] ------------------
# in function validate_username
#
	if (preg_match("/[a-z]+/i",$username)) 
	{ 
		return array('error' => true, 'error_msg' => $lang['Username_invalid']); 
	}
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
GFF
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 7 месяцев
Откуда: Москва

Сообщение GFF »

Ух, вроде работает :) Завтра подробнее посмотрю, спасибо. А спам-боты, наткнувшиеся на такое, не перегрузят сервак?

Добавлено спустя 53 минуты 11 секунд:

И ещё несколько вопросов:
- правильно ли я понимаю, что для запрета ещё и цифр нужно писать [a-z0-9]?
- что означает "+/i" ?
- запрещает ли этот код ввести английские буквы в имени из админовской панели?

Спасибо, извините, что много вопросов :)
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

GFF
по первым двум
Синтаксис и прочее по регулярным выражениям. Выучите этот сайт как отче наш.

по третьему - запрещает
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
GFF
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 7 месяцев
Откуда: Москва

Сообщение GFF »

Спасибо за помощь, и за ссылку. Выучить - вряд ли выучу, но разобраться попытаюсь :)

P.S. только что заметил, что Вы из моего родного города :)
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Пусть админ пишет, что хочет

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

#
#---- [ OPEN ] -------------------
#
includes/functions_validate.php

#
#---- [ FIND ] ------------------
# in function validate_username
#
	return array('error' => false, 'error_msg' => '');

#
#---- [ BEFORE, ADD ] ------------------
# in function validate_username
#
	if ($userdata['user_level'] != ADMIN)
	{
		if (preg_match("/[a-z]+/i",$username)) 
		{ 
			return array('error' => true, 'error_msg' => $lang['Username_invalid']); 
		}
	}
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
GFF
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 7 месяцев
Откуда: Москва

Сообщение GFF »

Ага, понял идею, спасибо :)

А вот ещё не подскажете - пытался по аналогии с Вашим первым советом в Admin_Users_List (версию, правда, первую отчего-то поставил, ну да мне хватает) сделать DESCENDING порядок вывода пользователей по умолчанию.

Но... не нашёл там установки порядка сортировки "ASC" по умочланию :( ясно, что он там где-то есть... и я что-то не понимаю :(
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

GFF
Поставь лучше последнюю версию Admin UsersList (там по дефолту DESC)
Ссылку найдешь на форуме.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html

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