Перейти к контенту
  • 0

Запретить регистрацию цифровых ников


L0ader

Вопрос

Подскажите пожалуйста как запретить пользователям регистрироваться под цифровыми никами? Если я запрещу цифры в символах ника - невозможно будет создать буквенно-цифровой ник. Просто задолбали ники 495 666 и тому подобные.
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

В файле admin/sources/classes/member/memberFunctions.php

 

перед строками:

	//-----------------------------------------
	// Blocking certain chars in username?
	//-----------------------------------------

	if( ipsRegistry::$settings['username_characters'] )
	{
		$check_against = preg_quote( ipsRegistry::$settings['username_characters'], "/" );
		$check_against = str_replace( '\-', '-', $check_against ); // Fix for bug #20998

		if( !preg_match( "/^[" . $check_against . "]+$/i", $name ) )
		{
			return array( 'name' => $original, 'errors' => array( str_replace( '{chars}', ipsRegistry::$settings['username_characters'], ipsRegistry::$settings['username_errormsg'] ) ) );
		}
	}

 

добавить что-то вроде:

		if( preg_match( "/^[0-9\s]+$/i", $name ) )
		{
			return array( 'name' => $original, 'errors' => array( 'Имя пользователя должно быть осмысленным' ) );
		}

  • Лайк 1
Ссылка на комментарий
Поделиться на других сайтах

  • 0

if( preg_match( "/^[0-9\s]+$/i", $name ) )

Ох любите вы регулярки...

Я уже забодался пост_парсер на substr() и strpost() переписывать, чтобы ресурсы не жрал как прорву...

 

if( $name === "".intval($name) )

съест на 3 порядка меньше ресурсов. В данном конкретном случае это мелочь, но сам принцип избегания регулярок там, где есть более быстрые операторы, желательно соблюдать везде.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Регулярка сделана, что бы не пропускать ники "890 0990"

Если захотят обойти - эту регулярку обойдут с легкостью. Например пробел сделают шпацией: 160-м кодом.

Демонстрация:

          Строка после 10 шпаций.

                    Строка после 20 шпаций.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Куда ее вставить чтобы внести этот запрет в другое поле (дополнительное поле профиля)?

В формате ввода поля можно установить "только буквы" однако в таком случае необходимо постоянное количество букв, что невозможно.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.