Что если провернуть это таким образом?Рапретим таким образом только числовые логины и логины содержащие префиксы доменов?
Открываемс:
engine/modules/register.php
Упорно ищем:
PHP код:
if( strlen( $name ) > 20 ) $stop .= $lang['reg_err_3'];
Добавляем после:
PHP код:
if( strlen( $name ) < 4 ) $stop .= $lang['reg_ers_3'];
Тут же ищем:
PHP код:
if( preg_match( "/[\||\'|\<|\>|\[|\]|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\{\+]/", $name ) ) $stop .= $lang['reg_err_4'];
Меняем на:
PHP код:
if( preg_match( "/[\||\'|\<|\.рф|\.ru|\.su|\.com|\.net|\.org|\.name|\.pro|\.travel|\.tel|\.info|\.com.ru|\.spb.ru|\>|\[|\]|\"|\0123456789|\!|\?|\$|\@|\/|\\\|\&\~\*\{\+]/", $name ) ) $stop .= $lang['reg_err_4'];
Открыть файл
language/Russian/website.lng
Ищем:
PHP код:
'reg_err_3' => "<li>Длина имени не может превышать 20 символов!</li>",
Добавляем ниже:
PHP код:
'reg_ers_3' => "<li>Длина логина должна быть не меньше 4 символов!</li>",
Открыть:
engine/ajax/registration.php
Находим:
PHP код:
if (dle_strlen($name, $config['charset']) > 20)
{
$stop .= $lang['reg_err_3'];
}
Добавляем ниже:
PHP код:
if (dle_strlen($name, $config['charset']) < 4)
{
$stop .= $lang['reg_err_3'];
}
Тут же ищем:
PHP код:
if (preg_match("/[\||\'|\<|\>|\[|\]|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\{\+]/",$name))
Меняем на:
PHP код:
if( preg_match( "/[\||\'|\<|\.рф|\.ru|\.su|\.com|\.net|\.org|\.name|\.pro|\.travel|\.tel|\.info|\.com.ru|\.spb.ru|\>|\[|\]|\"|\0123456789|\!|\?|\$|\@|\/|\\\|\&\~\*\{\+]/", $name ) ) $stop .= $lang['reg_err_4'];