Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2017-01-04 11:23:56

util
Спонсор
Зарегистрирован: 2017-01-02
Сообщений: 86

Регистрация

Можно-ли поправить ограничение на логин (не должен начинаться с цифр)? Несколько не удобно..

Offline

#2 2017-01-04 14:55:24

Aлександр
Участник
Зарегистрирован: 2016-08-12
Сообщений: 70

Re: Регистрация

/include/functions.php

Вот этот блок кода отвечает за валидацию

// Validate username
	if (pun_strlen($username) < 2)
		$errors[] = $lang_prof_reg['Username too short'];
	else if (pun_strlen($username) > 25) // This usually doesn't happen since the form element only accepts 25 characters
		$errors[] = $lang_prof_reg['Username too long'];
	else if (!preg_match('%^\p{L}[\p{L}\p{N}_ ]+$%u', $username)) // строгая проверка имени пользователя - Visman
		$errors[] = $lang_prof_reg['Username Error'];
	else if (!strcasecmp($username, 'Guest') || !utf8_strcasecmp($username, $lang_common['Guest']))
		$errors[] = $lang_prof_reg['Username guest'];
	else if (preg_match('%[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}%', $username) || preg_match('%((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))%', $username))
		$errors[] = $lang_prof_reg['Username IP'];
	else if ((strpos($username, '[') !== false || strpos($username, ']') !== false) && strpos($username, '\'') !== false && strpos($username, '"') !== false)
		$errors[] = $lang_prof_reg['Username reserved chars'];
	else if (preg_match('%(?:\[/?(?:b|u|s|ins|del|em|i|h|colou?r|quote|code|img|url|email|list|\*|topic|post|forum|user)\]|\[(?:img|url|quote|list)=)%i', $username))
		$errors[] = $lang_prof_reg['Username BBCode'];

Попробуйте убрать

else if (!preg_match('%^\p{L}[\p{L}\p{N}_ ]+$%u', $username)) // строгая проверка имени пользователя - Visman
		$errors[] = $lang_prof_reg['Username Error'];

Offline

#3 2017-01-04 15:01:01

Aлександр
Участник
Зарегистрирован: 2016-08-12
Сообщений: 70

Re: Регистрация

К стати, есть небольшой баг, Aлександр и Александр для форума 2 разных логина...

Offline

#4 2017-01-04 16:30:43

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Регистрация

@Aлександр, это не баг, это фича smile Нет проверки на визуальное совпадение символов из разных языков.

@util, если убрать эту проверку, можно получить проблемы с цитированием/обращением по нику. Если нужна цифра первым символом, то изменить следует регулярку с

'%^\p{L}[\p{L}\p{N}_ ]+$%u'

на

'%^[\p{L}\p{N}][\p{L}\p{N}_ ]+$%u'

Offline

#5 2017-01-04 16:32:43

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Регистрация

Вопросы по моей сборке следует задавать в ее теме https://fluxbb.qb7.ru/forum/viewtopic.php?id=3260
Все-таки этот форум по оригинальному движку FluxBB.

Offline

#6 2017-01-04 16:57:43

util
Спонсор
Зарегистрирован: 2017-01-02
Сообщений: 86

Re: Регистрация

Извините великодушно.. Продолжу там..

Редактировался util (2017-01-04 17:08:38)

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens