Русские ники(запрет).

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
Ivan_ba
phpBB 1.0.0
Сообщения: 8
Стаж: 18 лет 4 месяца

Русские ники(запрет).

Сообщение Ivan_ba »

Не могу запретить использование русский ников, пробовал добавлять различные комбинации русских букв в запрещенные имена...*а*, *а, а*...и так далее...но когда попробовал запретить имя Иван...а после зарегилься под ним терпение кончилось и решил спросить у знаюших людей...мож кто знает!
Версия phpBB*: 2.0.21, Smartor ezPortal v 2.1.7 2003/01/30
subsilver
EasyMOD, File Attachment Mod v2
PHP Version 4.4.4
Используемая СУБД и её версия: MySQL 4.1.21-standard
Ссылка на конференцию: HelpMeIT
Использовался ли поиск для решения проблемы: пробовал искать на вашем форуме врозумительнее чем забанить русские буквы не нашел...
Если да, то какие запросы вы использовали: разные :-)
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 3 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

А нужно именно запретить руские ники или запретить смешение букв и таким образом создание клонов? Какова конечная цель?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Ivan_ba
phpBB 1.0.0
Сообщения: 8
Стаж: 18 лет 4 месяца

Сообщение Ivan_ba »

Xpert
Огромное спасибо за столь быстрый ответ...желательно вообще закрыть регистрацию ников на русском языке.

Добавлено спустя 3 часа 2 минуты 23 секунды:

а почему может не работать вариант который в админ панели есть?

Xpert
вот еще писали тут на форуме

это не мод даже, маленькая правка includes/functions_validate.php
Находим:

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

$username = trim($username); 
   if (strstr($username

В строке if (strstr($username добавляем условия на нежелательные символы, к примеру так:

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

if (strstr($username, ' ') || strstr($username, '^') || strstr($username, '%') || strstr($username, '$') || strstr($username, '#') || strstr($username, '@') || strstr($username, '~') || strstr($username, '`') || strstr($username, '"') || strstr($username, '"') )

Можно вообще запретить всё, кроме букв и цифр.

Ну и соответсвующим образом правим содержимое $lang['Username_invalid']
Поясняя, что в нике может быть, а чего быть не должно.
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 20 лет 5 месяцев
Откуда: Москва

Сообщение Coagulant »

Избавляемся от русских букв в имени при регистрации
(не забудьте правильно выставить локаль иначе работать не будет)

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

OPEN
includes/functions_validate.php

FIND
// Don't allow " and ALT-255 in username.

BEFORE, ADD
	if (preg_match ('/[а-яё]/si', $username))
	{
		return array('error' => true, 'error_msg' => $lang['Username_invalid']);
	}
Аватара пользователя
Ivan_ba
phpBB 1.0.0
Сообщения: 8
Стаж: 18 лет 4 месяца

Сообщение Ivan_ba »

Coagulant
Отлично убило двух зайцев и при совмещении и при русском языке огромное спасибо выручил :-)
Alexalexis
phpBB 1.4.4
Сообщения: 183
Стаж: 18 лет 5 месяцев

Сообщение Alexalexis »

И всё же
Ivan_ba писал(а):а почему может не работать вариант который в админ панели есть?
:?:
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 3 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Могли быть проблемы с локалью...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Alexalexis
phpBB 1.4.4
Сообщения: 183
Стаж: 18 лет 5 месяцев

Сообщение Alexalexis »

Поиск с русским работает нормально.
А вот запрещённые имена - нет. Как должно быть настроено, чтоб не было проблем? Локаль сервера? Кодировка базы данных? Указать локаль в файле (в каком и какую)?
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 20 лет 5 месяцев
Откуда: Москва

Сообщение Coagulant »

Alexalexis
В lang_main.php, например. Локаль русскую (ту, что установлена на сервере, уточните у хостера)
Alexalexis
phpBB 1.4.4
Сообщения: 183
Стаж: 18 лет 5 месяцев

Сообщение Alexalexis »

Coagulant писал(а):Локаль русскую (ту, что установлена на сервере, уточните у хостера)
Спросил у хостера. Ответ хостера: "Что Вы имеете в виду "локаль"? ". Что мне ответить? У них там FreeBSD, насколько я знаю.
Аватара пользователя
Галина
phpBB 1.2.1
Сообщения: 26
Стаж: 20 лет 2 месяца
Откуда: Санкт-Петербург

Сообщение Галина »

А мне нужно запретить регистрацию не по-русски. Можно это как-то сделать? Я на одном форуме просто тупо в админке перечислила все латинские буквы, с которых может начинаться ник, чтоб запретить латинские имена.
Но, может, есть решение поизящнее?
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 20 лет 5 месяцев
Откуда: Москва

Сообщение Coagulant »

По аналогии с уже предложенным:
OPEN
includes/functions_validate.php

FIND
// Don't allow " and ALT-255 in username.

BEFORE, ADD
if (preg_match ('/[a-z]/si', $username))
{
return array('error' => true, 'error_msg' => $lang['Username_invalid']);
}
Аватара пользователя
Галина
phpBB 1.2.1
Сообщения: 26
Стаж: 20 лет 2 месяца
Откуда: Санкт-Петербург

Сообщение Галина »

Coagulant, большое спасибо! Все работает.
Аватара пользователя
macsim
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 4 месяца
Откуда: 174

Сообщение macsim »

Так что же такое "ЛОКАЛЬ" :?: :oops:
Аватара пользователя
/DiOs
Former team member
Сообщения: 1139
Стаж: 19 лет 3 месяца
Откуда: Ленинград

Сообщение /DiOs »

macsim писал(а):Так что же такое "ЛОКАЛЬ"
Некий обобщенный термин, определяющий совокупность параметров локализации. Грубо -- то, что в Windows называется International settings. Но мы здесь чаще всего имеем в виду то, что относится к языковым установкам -- character set и colocation.
И если я неправ, пусть старшие товарищи поправят меня

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