[Решено] Запрет регистрации русского логина

  • 9 Ответов
  • 1661 Просмотров

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

*

Joseph

  • Новичок
  • *
  • 6
  • 0
Продолжаю старую тему.

Как сказал, Marques,
... 2.5.4 выйдет (по информации из группы Joomla на Google) уже 2 апреля и это будет не релиз безопасности, а полноценное обновление включающее исправление многих найденных багов.

Можно ли использовать метод изменения библиотеки из старой темы или надо действовать как-то по-другому?
« Последнее редактирование: 31.01.2014, 19:31:34 от b2z »

*

artlux

  • Завсегдатай
  • *****
  • 468
  • 58
Так и тянет на изменение ядра?!

Сколько сайтов не делал на Joomla - ну нет таких задач которые требуют ковырять ядро!

Нет знаний написать свой компонент, можно найти сторонний под регистрацию пользователей...
Даже на компонентах формы можно сделать регистрацию Chronoforms (доки как это делается есть на сайте разработчика)...
Опять же есть стандартный com_user - который можно изменить и дописать(разумеется сделать копию и установить)...

Изменение ядра вариант (но как только обновишся - так придется опять ковырять)...
А не будеш обновляться - готовься к вирусам...
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!

*

Joseph

  • Новичок
  • *
  • 6
  • 0
Я хочу сделать этот запрет, т.к. он крайне важен для моего проекта.
А уж какой метод использовать, менять ядро или использовать плагины, не имеет особого значения. И вот хочу узнать у опытных веб-программистов, есть ли критичные изменения в Joomla, из-за которых нельзя использовать предложенный мне ранее метод. А может подскажут метод получше.  ::)

*

tochini

  • Осваиваюсь на форуме
  • ***
  • 67
  • 1
Кхм, а из каких соображений запрещать русские логины ?
Безопасность... почему ?
Если не трудно - поясните.

Спасибо.

*

SmokerMan

  • Профи
  • ********
  • 5329
  • 689
Не надо ничего писать. Все делается через плагины.
Пример добавь в plugins/user/joomla/joomla.php метод

Код
	public function onUserBeforeSave($user, $isnew, $data)
{
//выбираем только латинский алфавит, без символов и пробелов
if (!preg_match('/^[A-z]+$/i', $data['username'])) {
$app = JFactory::getApplication();
// Save the data in the session.
$app->setUserState('com_users.registration.data', $data);
$app->redirect('index.php?option=com_users&view=registration', 'Тута есть русские буквы!', 'notice');
}

return true;
}

Ну лучше, как писалось выше. Этот метод оформить через отдельный - свой плагин. Тогда можно не бояться никаких обновлений.

*

Joseph

  • Новичок
  • *
  • 6
  • 0
Кхм, а из каких соображений запрещать русские логины ?
Безопасность... почему ?
Если не трудно - поясните.
Сервер Minecraft до некоторого времени имел значительные проблемы с русскими логинами. С тех пор, как это исправили на уровне ядра сервера, то жить стало проще. Однако, когда происходит запрос к базе данных от лаунчера на авторизацию игрока с русским логином, сервер падает в обморок.

Не надо ничего писать. Все делается через плагины.
Пример добавь в plugins/user/joomla/joomla.php метод

Код
	public function onUserBeforeSave($user, $isnew, $data)
{
//выбираем только латинский алфавит, без символов и пробелов
if (!preg_match('/^[A-z]+$/i', $data['username'])) {
$app = JFactory::getApplication();
// Save the data in the session.
$app->setUserState('com_users.registration.data', $data);
$app->redirect('index.php?option=com_users&view=registration', 'Тута есть русские буквы!', 'notice');
}

return true;
}

Ну лучше, как писалось выше. Этот метод оформить через отдельный - свой плагин. Тогда можно не бояться никаких обновлений.

Спасибо, пока использую ваш метод, а позже, как освоюсь получше в этой cms, напишу и свой плагин.

*

Fedor Vlasenko

  • Профи
  • ********
  • 3800
  • 698
  • Все начинается с Value
Здесь не нужен плагин. Правильнее здесь было обрабатывать ввод на стороне пользователя с помощью Js. Все то же самое, регулярка, но на Js



*

Скиф

  • Осваиваюсь на форуме
  • ***
  • 67
  • 0
  • ...Возможно он звонит по тебе.
Не надо ничего писать. Все делается через плагины.
Пример добавь в plugins/user/joomla/joomla.php метод

Код
	public function onUserBeforeSave($user, $isnew, $data)
{
//выбираем только латинский алфавит, без символов и пробелов
if (!preg_match('/^[A-z]+$/i', $data['username'])) {
$app = JFactory::getApplication();
// Save the data in the session.
$app->setUserState('com_users.registration.data', $data);
$app->redirect('index.php?option=com_users&view=registration', 'Тута есть русские буквы!', 'notice');
}

return true;
}

Ну лучше, как писалось выше. Этот метод оформить через отдельный - свой плагин. Тогда можно не бояться никаких обновлений.

У меня нифига не работает. Запретить кириллические логины для меня крайне важно. SOS!
« Последнее редактирование: 30.07.2015, 10:19:49 от Скиф »
Поэт горбат.
Стихи его горбаты.
Кто виноват?
Россия виновата!

Крепко жму горло искренне ваш Скиф.