Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

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

Joseph

  • Новичок
  • 6
  • 0 / 0
Нужно чтобы невозможно было зарегистрировать русский логин.
Подскажите, пожалуйста, решение, а то проблема с ними очень серьёзная..  :(
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Нужно добавить проверку на то что бы в логине не было никаких букв кроме латинских.
Открываем файл /libraries/joomla/database/table/user.php

И теперь вставляем вот это дополнительное условие (после 201 строки)

Код: php
// это новый код, его вставляем в файл
if (!preg_match("/^[0-9a-zA-Z]+$/i", $this->username))
{
$this->setError(JText::sprintf('JLIB_DATABASE_ERROR_VALID_AZ09', 2));
return false;
}

после вот этого кода (после 201 строки), смотрите внимательно. номера строк указаны из оригинального файла.

Код: php
// это код после которого нужно вставить новый код
197     if (preg_match("#[<>\"'%;()&]#i", $this->username) || strlen(utf8_decode($this->username)) < 2)
198     {
199     $this->setError(JText::sprintf('JLIB_DATABASE_ERROR_VALID_AZ09', 2));
200     return false;
201     }

Так же можно немного изменить фразу которая выводится если логин набран не верно. В оригинеле выводится так:

Цитировать
Не удалось зарегистрировать пользователя: Не удалось зарегистрировать пользователя: Пожалуйста, введите корректный логин. Без пробелов, не менее 2 символов. Так же в логине не должно быть символов: < > " ' % ; ( ) &

Можно добавить свой текст. Если нужно объяснить как изменить это сообщение - пишите.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
В принципе могу выложить это файл здесь и вы просто замените ваш файл на новый, если вы в движке ничего не меняли - то все будет работать.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Joseph

  • Новичок
  • 6
  • 0 / 0
Большое спасибо, вставил ваш код после указанного(правда он у меня начинается с 187й строчки) и всё заработало. Я могу как-то вас отблагодарить?
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Большое спасибо

Этого вполне достаточно. :)

Я рад что у вас все получилось.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Ага, учтите что это до выхода версии 2.5.4.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Ну это да... но и по другому этот вопрос решить было бы сложнее и все равно пришлось бы движок изменять.

И еще... 2.5.4 выйдет (по информации из группы Joomla на Google) уже 2 апреля и это будет не релиз безопасности, а полноценное обновление включающее исправление многих найденных багов.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Ну а кто мешает сделать проверку вводимых данных на уровне шаблона компонента не трогая либы?

---------------------------
Например тем же js проверять что вводит юзверь и только потом отправлять или выводить ошибку и  показывать причину?
Да, способ этот можно обойти, но все же это будет лучше нежели изменять библиотеки.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Ну а кто мешает сделать проверку вводимых данных на уровне шаблона компонента не трогая либы?

---------------------------
Например тем же js проверять что вводит юзверь и только потом отправлять или выводить ошибку и  показывать причину?
Да, способ этот можно обойти, но все же это будет лучше нежели изменять библиотеки.

Абсолютно никто ! Но у меня не было никакой информации что за шаблон используется, что там и как работает и что изменено или допилено. Мой вариант - это быстрое решение (исходя из полученной информации) и использовать его или нет - каждый решает сам. ;)
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
А как решить вопрос с Joomla! 2.5.4? А еще лучше с K2 =)
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Запрет регистрации русского логина
« Ответ #10 : 24.04.2012, 19:44:31 »
Ну а кто мешает сделать проверку вводимых данных на уровне шаблона компонента не трогая либы?

---------------------------
Например тем же js проверять что вводит юзверь и только потом отправлять или выводить ошибку и  показывать причину?
Да, способ этот можно обойти, но все же это будет лучше нежели изменять библиотеки.
js - это не надежно. А потому недопустимо.
Не понимаю - что мешает написать плагинчик, реализующий нужные функции? Разве что плохо продуманный api..Но данная задача думаю решаема плагином...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Re: Запрет регистрации русского логина
« Ответ #11 : 24.04.2012, 20:05:49 »
Не понимаю - что мешает написать плагинчик, реализующий нужные функции? Разве что плохо продуманный api..Но данная задача думаю решаема плагином...
Вот кто бы только реализовал... Я только компоненты видел, но не понимаю зачем для таких задач целые компоненты. Я уж и отблагодарить готов ;)
Только мне скорее подошла больше AJAX проверка логина мыла и т.п. по примеру этой статьи только для K2. И чтобы выводило, что кириллица недопустима...
Ну или просто запрет кириллицы в K2 тоже сойдет
« Последнее редактирование: 24.04.2012, 20:19:51 от Langoliers »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Запрет регистрации русского логина
« Ответ #12 : 25.04.2012, 00:27:54 »
Я только компоненты видел, но не понимаю зачем для таких задач целые компоненты. Я уж и отблагодарить готов ;)
а и не нужно никаких компонентов. Делается все плагином. Тот же user profile можно взять для примера.
По поводу AJAX просто нужен дополнительный контроллер, в котором можно будет обрабатывать запросы.
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Re: Запрет регистрации русского логина
« Ответ #13 : 25.04.2012, 08:58:43 »
а и не нужно никаких компонентов. Делается все плагином. Тот же user profile можно взять для примера.
По поводу AJAX просто нужен дополнительный контроллер, в котором можно будет обрабатывать запросы.
К сожалению у меня нет пока знаний, для создания подобного плагина =\
*

wkera

  • Новичок
  • 9
  • 0 / 0
Re: Запрет регистрации русского логина
« Ответ #14 : 26.07.2012, 16:53:58 »
Подскажите пожалуйста, как убрать:
Цитировать
Не удалось зарегистрировать пользователя: Не удалось зарегистрировать пользователя:
Спасибо!
*

Chell

  • Захожу иногда
  • 62
  • 1 / 0
Re: Запрет регистрации русского логина
« Ответ #15 : 12.11.2013, 12:48:23 »
Подскажите пожалуйста, как убрать:Спасибо!

Вам удалось решить данную проблему? Если да, то как?
*

DjYarik

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Запрет регистрации русского логина
« Ответ #16 : 02.12.2013, 16:26:32 »
Подскажите, пожалуйста, а что нужно добавить, что бы можно было логины с пробелом регистрировать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка при регистрации

Автор lilian1982

Ответов: 9
Просмотров: 1878
Последний ответ 07.11.2019, 04:59:51
от Cedars
Как закрыть от посещения страницу регистрации Joomla?

Автор Csandr

Ответов: 27
Просмотров: 7170
Последний ответ 01.04.2019, 18:32:18
от ProtectYourSite
Как удалить ненужные поля при регистрации?

Автор petya242

Ответов: 2
Просмотров: 4078
Последний ответ 09.11.2017, 12:58:09
от abonnent
Авторизация на сайте без логина и пароля. Это возможно!

Автор Aeliot

Ответов: 28
Просмотров: 10702
Последний ответ 09.03.2017, 22:30:45
от Septdir
Не отображается CAPTCHA при регистрации

Автор Kogwt

Ответов: 1
Просмотров: 2842
Последний ответ 20.01.2017, 14:35:07
от ProtectYourSite