Запрет символов в пароле - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

  • 2 Страниц +
  • 1
  • 2

Запрет символов в пароле

#1 Пользователь не на сайте   That ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 24
  • Регистрация: 23-Февраль 17
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 13 Март 2019 - 21:48

Здравствуйте. Необходимо запретить Русский язык в паролях, а так же большинство символов. В register.php сделал это следующим путём:
elseif(!preg_match("/^[-a-zA-Z0-9_]+$/i", $in_password)) 
		{
				// Сообщение
				$form_errors['password'][$this->lang->words['pass_too_characters']] = $this->lang->words['pass_too_characters'];
		}


Подскажите пожалуйста, а как быть в ipb.register.js? нужно это же сообщение показать "на лету". И помогите пожалуйста найти смену пароля, чтобы сделать то же самое. Спасибо!

Сообщение изменено: That (13 Март 2019 - 21:54)

0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 446
  • Регистрация: 20-Март 09
  • Репутация: 2 549
  • IPB version:3.1.x
 

Отправлено 13 Март 2019 - 23:09

http://ipbskins.ru/f..._15#entry106871

В js получить лэнг можно через ipb.lang['%key%'] - ipb.lang['pass_too_characters']
Чтобы он был доступен из js, его нужно продублировать в word pack: core/public_js
1

#3 Пользователь не на сайте   That ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 24
  • Регистрация: 23-Февраль 17
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 13 Март 2019 - 23:39

Да, так JS заработал. Спасибо большое! А где искать смену пароля из личного кабинета? Потому как пользователь уже после регистрации может прописать "плохой" пароль в своём аккаунте.
0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 446
  • Регистрация: 20-Март 09
  • Репутация: 2 549
  • IPB version:3.1.x
 

Отправлено 14 Март 2019 - 00:00

admin/applications/core/modules_public/global/lostpass.php

				if( $pass_a != $pass_b )
				{
					$this->registry->output->showError( 'pass_no_match', 10187 );								
				}

0

#5 Пользователь не на сайте   That ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 24
  • Регистрация: 23-Февраль 17
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 14 Март 2019 - 01:26

Что-то я немного не пойму что тут делать, зато понял что новый пароль пользователь может мало того указать любым символом что мне не нужно, так и ещё длиной в 1 символ. Что тоже очень плохо.
0

#6 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 446
  • Регистрация: 20-Март 09
  • Репутация: 2 549
  • IPB version:3.1.x
 

Отправлено 14 Март 2019 - 09:44

Ниже этого кода вставляете проверку пароля по длине или по символам.
0

#7 Пользователь не на сайте   That ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 24
  • Регистрация: 23-Февраль 17
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 14 Март 2019 - 12:09

Так. Ниже у меня проверяется длина следующим путём:
if ( strlen( $pass_a ) < 4 )
	{
		$form_errors['password'][$this->lang->words['pass_too_short']] = $this->lang->words['pass_too_short'];
	}

Далее захожу в настройки, во время изменения пароля указываю длину нового пароля в 2-3 символа. Пароль успешно меняется.
0

#8 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 935
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 525
  • IPB version:I have no IPB
 

Отправлено 14 Март 2019 - 12:30

Просмотреть сообщениеThat сказал(а):

Далее захожу в настройки, во время изменения пароля указываю длину нового пароля в 2-3 символа.

Логика подсказывает, что не там делаете.
Для настроек email/пароля в профиле используется ссылка index.php?app=core&module=usercp&tab=core&area=email
А выше указан путь admin/applications/core/modules_public/global/lostpass.php к файлу для "Забыл пароль"


Просмотреть сообщениеThat сказал(а):

Далее захожу в настройки, во время изменения пароля указываю длину нового пароля в 2-3 символа

admin/applications/core/extensions/usercpForms.php

	/**
	 * UserCP Save Form: Password
	 *
	 * @param	array	Array of member / core_sys_login information (if we're editing)
	 * @return	mixed	Array of errors / boolean true
	 */
	public function saveFormPassword( $member=array() )


Просмотреть сообщениеThat сказал(а):

Ниже у меня проверяется длина следующим путём

Используйте mb_strlen
2

#9 Пользователь не на сайте   That ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 24
  • Регистрация: 23-Февраль 17
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 14 Март 2019 - 12:56

А если кроме длины строки нужно проверить
!preg_match("/^[-a-zA-Z0-9_]+$/i"
? Ведь судя по описанию можно лишь получить внутреннюю кодировку.
0

#10 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 935
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 525
  • IPB version:I have no IPB
 

Отправлено 14 Март 2019 - 13:10

Просмотреть сообщениеThat сказал(а):

Ведь судя по описанию можно лишь получить внутреннюю кодировку.

Я написал, чтобы использовали mb_strlen вместо strlen.
Мой комментарий относился к

Цитата

Ниже у меня проверяется длина следующим путём:
if ( strlen( $pass_a ) < 4 )
{
$form_errors['password'][$this->lang->words['pass_too_short']] = $this->lang->words['pass_too_short'];
}

0

#11 Пользователь не на сайте   Gendrixon ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 18-Март 19
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 18 Март 2019 - 14:01

Добрый день. Тоже заинтересовал данный вопрос, потому как нужно запретить менее 6ти символов и всякие там кавычки в изменяемом пароле. Ознакомившись с темой я понял что я ничего не понял. У нас есть путь:
index.php?app=core&module=usercp&tab=core&area=email
Судя по всему он ведёт к файлу /applications/core/modules_public/usercp/ и там лежит файл manualResolver.php. Открыв его я попал в тупик. Либо я пришёл не туда, либо я не могу понять куда тут добавить проверку.
0

#12 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 446
  • Регистрация: 20-Март 09
  • Репутация: 2 549
  • IPB version:3.1.x
 

Отправлено 18 Март 2019 - 15:30

Просмотреть сообщениеGendrixon сказал(а):

Судя по всему он ведёт к файлу

newbie выше написал куда он ведет, но почему-то никто этого не видит

Просмотреть сообщениеnewbie сказал(а):

admin/applications/core/extensions/usercpForms.php

В методе saveFormEmailPassword

Найти (этот код повторяется 2 раза в файле, найти второй, в функции saveFormEmailPassword)

			if ( $new_pass != $chk_pass )
			{
				return array( 0 => $this->lang->words['passwords_not_matchy'] );
			}

Ниже добавить
			if( !preg_match("/^[-a-zA-Z0-9_]+$/i", $new_pass ) ) 
			{
				return array( 0 => $this->lang->words['pass_too_characters'] );
			}
			
			if ( strlen( $new_pass ) < 4 )
			{
				return array( 0 => $this->lang->words['pass_too_short'] );
			}

0

#13 Пользователь не на сайте   Gendrixon ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 18-Март 19
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 18 Март 2019 - 15:44

Прошу прощения, но я внимательно перечитал данную информацию и перепроверил, не работает. Затем я убрал свои ключи языка и подставил ваши. Ничего... После чего я вовсе просто скопировал ваш код и заменил свой. Не помогло. Вот код данного файла. Текущая версия форума 3.4.9.
0

#14 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 446
  • Регистрация: 20-Март 09
  • Репутация: 2 549
  • IPB version:3.1.x
 

Отправлено 18 Март 2019 - 15:50

Проверил, все работает. Это можно увидеть по еррор блоку который появляется сверху.
Естественно эти лэнги не существуют, их нужно создать в языке, либо написать сообщение ошибки вместо них.
0

#15 Пользователь не на сайте   Gendrixon ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 18-Март 19
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 18 Март 2019 - 15:56

siv1987,
Так дело то сейчас не в том, что видны ошибки или нет :). Я залогинился, меняю пароль на любой односимвольный. Мне форум пишет что пароль успешно изменён. Тут же я ввожу свой новый пароль, который я до этого забил в 1 символ и меняю его на 2 символа. Соответственно система проверяет ранее изменёный пароль и так как всё успешно - меняет его ещё раз на 2х символьный :)

Сообщение изменено: Gendrixon (18 Март 2019 - 15:57)

0

Сообщить об этой теме:


  • 2 Страниц +
  • 1
  • 2


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2019 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна