Ограничение на количество символов в Нике smf

Автор Dian, 16 марта 2013, 16:54:13

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Dian

Всем привет. Искал в поиске ответа так и не нашел. Гугл тоже не помог.
Возможно ли в SMF сделать ограничение по символам в нике (при регистрации и в общем). И где это меняется.

Версия SMF: 2.0.2
"Тише едешь - дальше будешь"

Dian

up
Неужели ни кто с таким не сталкивался ?  :(
"Тише едешь - дальше будешь"

Жека


Dian

Цитата: Жека от 18 марта 2013, 23:02:31
Неа.
А зачем?
На форуме часто пользователи создают имена к примеру "явсехвастопаталвотвытакиевотсякие11111" . И хотелось бы это безобразие запретить.
"Тише едешь - дальше будешь"

Жека

Хотите ограничить максимальное количество символов в нике?

Dian

"Тише едешь - дальше будешь"

Bugo

В Register.template.php найдите все поля вида maxlength="25" и установите свой лимит.

Dian

Цитата: Bugo от 19 марта 2013, 15:02:00
В Register.template.php найдите все поля вида maxlength="25" и установите свой лимит.
Спасибо огромнейшее за ответ. А в Личном кабинете, так же будет ограничение, в функции смены ника?
"Тише едешь - дальше будешь"

Bugo

А в профиле эту функцию можно и запретить, изменив Права доступа.

Dian

Уже разобрался.
При регистрации, общий ник файл Register.template.php:
<input type="text" name="user" id="smf_autov_username" size="30" tabindex="', $context['tabindex']++, '" maxlength="60" value="', isset($context['username']) ? $context['username'] : '', '" class="input_text" />

<dd>
<input type="text" name="user" id="user_input" tabindex="', $context['tabindex']++, '" size="30" maxlength="60" class="input_text" />
</dd>

*Меняем "60" на нужное нам (количество символов) .
*maxlength= - максимальная длина


При изменении ника в профиле: В файле Profile-Modify.php меняем "60" на нужное нам :
'input_attr' => array('maxlength="60"'),

Что бы окончательно запретить, нужно лезть в базу. Так как данный способ при регистрации можно обойти простым путем. Это подмена длины в коде страницы при регистрации.

В общем в базе как найду отпишу. Или кто знает отпишите )
"Тише едешь - дальше будешь"

karavan

Цитата: Dian от 19 марта 2013, 19:14:28Так как данный способ при регистрации можно обойти простым путем. Это подмена длины в коде страницы при регистрации.
Ну знаете ли, если уж такой вумный пользователь будет регистрироваться, так ему вечный бан сразу и положен, плюс никто не отменял регистрацию с одобрением, хорошая кстати вещь.

Ray

#11
Всё очень просто!

Вам необходимо поставить лимит в html коде и не забыть про базу.

HTML:
Регистрация:
найдите <input type="text" name="user" id="smf_autov_username" size="30" tabindex="1" maxlength="N" value="" class="input_text"/> (cоветую искать по name="user")
Ренейм:
<input type="text" name="real_name" id="real_name" size="30" value="Ray" maxlength="N" class="input_text"/>

где N, ставим необходимый лимит.

База:
localhost > название вашей базы > smf_members > member_name и real_name

нам нужен member_name и ,real_name изменяем у них varchar на число N
где N - необходимый нам лимит.

Что мы получили в итоге? Ограничение на поле и ограничение на количество символов для записи в базу (в случае, если у Вас есть хитрые пользователи, которым не лень подредактировать HTML код)