Новости Joomla

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

При регистрации в СВ похоже отсутствует всякая проверка вводимых данных. Это наводит на всякие не хорошие мысли.
В частности нет проверки что бы в логин вводились только латинские символы! Нет проверки на ввод email, у меня спокойно можно ввести email на русском. Конечно регистрации в этом случае нулевая, т.к. письмо не дойдет - но это лишний мусор, который потом чистить.

Дальше. Уже возникли проблемы с теми, кто в логине указывал его на русском языке. Конкретно в компоненте com_pms есть с этим проблема. Если оя через профиль пользователя пытаюсь отправить человеку с русским логином сообщение, то мне выдается ошибка от БД, потом открывается PMS и там код с ошибками, а имя пользователя в поле получателя отсутсвует.

Другими словами, как регистрацию запретить для тех кто на кириллицей регистрирует?

Re: Проверка данных при регистрации
« Ответ #1 : 31.03.2008, 01:27:57 »
невероятно, но вот что нашел.
Начал искать тот файл, который собственно выводится при регистрации. Это оказалось не сложно, тем более, что поле логин оно есть в любом случае и выводится не из БД.

Поля регистрации нашлись в comprofiler.html.php - и в коде этого же файл я обнаружил, что там уже есть встроенная проверка, которая по маске должна разрешать те или иные символы. Однако почему-то это не работает. Точнее от части работает. Если в поле логина ввести менее 3х символов, то он об этом сообщает и просит ввести больше символов, а вот проверка на на A-z уже не работает.
Вот код:
Код
function cbSendUsernameCheck(meButton) {
<?php
$version = checkJversion();
if ($version == 1) {
?>
var r = new RegExp("^[a-zA-Z](([\.\-a-zA-Z0-9@])?[a-zA-Z0-9]*)*$", "i");
<?php
} elseif ( $version == -1 ) {
?>
var r = new RegExp("[^A-Za-z0-9]", "i");
<?php
} else {
?>
var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
<?php
}
?>
var myFormEls = cbParentForm(meButton).elements;
var usernameVal = myFormEls['username'].value;
if (usernameVal == cbLastUsername) {
return false;
}
cbLastUsername = usernameVal;

if (usernameVal.length == 0) {
document.getElementById('usernameCheckResponse').innerHTML = '';
return false;
}
if (<?php if ($version==1) echo "!"; ?>r.exec(usernameVal) || (usernameVal.length < 3)) {
document.getElementById('usernameCheckResponse').innerHTML = '';
alert('<?php printf( unhtmlentities(_VALID_AZ09), unhtmlentities(_PROMPT_UNAME), 2 );?>\n');
return false;
}
строки 1205-1237

если тут есть специалисты, может взглянуть на этот файл и сказать что же тут не работает?
*

Morfei

  • Осваиваюсь на форуме
  • 24
  • 5 / 0
Re: Проверка данных при регистрации
« Ответ #2 : 24.11.2008, 07:15:40 »
Нашел пока токо такое решение:

на место

var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");

добавил так:

var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-\й\ц\у\к\е\н\г\ш\щ\з\х\ъ\ф\ы\в\а\п\р\о\л\д\ж\э\я\ч\с\м\и\т\ь\б\ю]", "i");

Да заменить нужно везде в этом файле. Встречается 3 раза.
« Последнее редактирование: 07.12.2008, 14:45:23 от Morfei »
*

djscalpel

  • Новичок
  • 9
  • 0 / 0
Re: Проверка данных при регистрации
« Ответ #3 : 23.02.2009, 15:48:26 »
мне нужно чтобы в логине не было пробела
как отредактировать эту строку?
*

Morfei

  • Осваиваюсь на форуме
  • 24
  • 5 / 0
Re: Проверка данных при регистрации
« Ответ #4 : 18.08.2009, 20:08:44 »
что-то не действует.

Тогда

на место

var r = new RegExp ("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");

добавляем так:

var r = new RegExp ("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-|\.|\@\й\ц\у\к\е\н\г\ш\щ\з\х\ъ\ф\ы\в\а\п\р\о\л\д\ж\э\я\ч\с\м\и\т\ь\б\ю]", "i");

Да заменить нужно везде в этом файле. В 1.x встречается 3 раза. В 1.2 встречается 2 раза. Да и чтоб работало редактируйте файл на сервере чтоб русские буквы читались нормально на сервере. Через встроенный редактор mc буквы должны читатся а не быть точками. Тогда будет работать при нажатии на кнопку регистрация.
*

intcorp

  • Захожу иногда
  • 456
  • 12 / 0
Re: Проверка данных при регистрации
« Ответ #5 : 08.09.2009, 01:28:27 »
Такой вопрос. При регистрации, есть проверка логинов и имэйлов и если все успешно, то зеленым шрифтом выводится какая-то надпись. У меня она в виде иероглифов. Где это правиться?
*

dyominroma

  • Захожу иногда
  • 124
  • 6 / 0
Re: Проверка данных при регистрации
« Ответ #6 : 17.10.2009, 01:41:30 »
Тогда

на место

var r = new RegExp ("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");

добавляем так:

var r = new RegExp ("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-|\.|\@\й\ц\у\к\е\н\г\ш\щ\з\х\ъ\ф\ы\в\а\п\р\о\л\д\ж\э\я\ч\с\м\и\т\ь\б\ю]", "i");

Да заменить нужно везде в этом файле. В 1.x встречается 3 раза. В 1.2 встречается 2 раза. Да и чтоб работало редактируйте файл на сервере чтоб русские буквы читались нормально на сервере. Через встроенный редактор mc буквы должны читатся а не быть точками. Тогда будет работать при нажатии на кнопку регистрация.

Не хочет и ппц ((

Заработало) Заменил в 4 местах! Ещё в 2 строчках заменил!
Ещё эти:
var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&]", "i");
« Последнее редактирование: 17.10.2009, 01:49:10 от dyominroma »
*

fate

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Проверка данных при регистрации
« Ответ #7 : 25.11.2009, 15:30:57 »
А как сделать что бы проверял что вводят в поле Имя пользователя:
что бы нельзя было русские символы вводить
*

norpe3s

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
Re: Проверка данных при регистрации
« Ответ #8 : 08.04.2010, 17:50:27 »
Возможно кому то будет актуально.
Заметил что к некоторым пользователям нельзя попасть во фронте в профиль.
Оказалось, что если у них в логине есть _ то в профиль не попасть...
(для поиска (как я искал) Joomla cb символ знак _ нижнего подчёркивания в логине не попасть в профиль в frontend фронт)
joomla 1.5.9
cb 1.2 RC 4
стоит плагин cb_core
решение:
в /components/com_comprofiler/plugin/user/plug_cbcore/cb.core.php
в 65 строчке: заменить
'singleaznum'      =>   '/^[a-z]+[a-z0-9_]*$/i',
нав
'singleaznum'      =>   '/^[a-z]+[a-z0-9]*$/i',
теперь при регистрации этот символ будет запрещён
ну а существующим наверно нужно поменять логин!

norpe3s@mobilejesus.ru
*

BobSunday

  • Осваиваюсь на форуме
  • 43
  • 4 / 0
Re: Проверка данных при регистрации
« Ответ #9 : 10.04.2010, 09:35:21 »
А как сделать что бы проверял что вводят в поле Имя пользователя:
что бы нельзя было русские символы вводить

Да, меня тоже такой вопрос интересует. А то если вводишь русские буквы, система говорит что всё ок, имя свободно.
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Проверка данных при регистрации
« Ответ #10 : 22.04.2010, 13:08:39 »
Такой вопрос. При регистрации, есть проверка логинов и имэйлов и если все успешно, то зеленым шрифтом выводится какая-то надпись. У меня она в виде иероглифов. Где это правиться?

Присоединяюсь к вопросу
*

qsolace

  • Новичок
  • 4
  • 0 / 0
Re: Проверка данных при регистрации
« Ответ #11 : 23.05.2010, 23:07:08 »
Присоединяюсь к вопросу

тоже присоединяюсь

Re: Проверка данных при регистрации
« Ответ #12 : 24.05.2010, 05:22:59 »
Сорри если оффтоп.
Если нужно запретить глобально в Joomla - берем regexp выше и вставляем в media\system\js\validate.js

Код
// Default handlers
this.setHandler('username',
function (value) {
regex = new RegExp ("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-|\.|\@\й\ц\у\к\е\н\г\ш\щ\з\х\ъ\ф\ы\в\а\п\р\о\л\д\ж\э\я\ч\с\м\и\т\ь\б\ю]", "i");
return !regex.test(value);
}
);

и потом делаем бяку в components\com_user\views\register\tmpl\default.php

Код
$this->escape($this->user->get( 'username' ))

меняем на

Код
$this->user->get( 'username' )

Нашел методом тыка за 10 минут. Если есть более надёжное решение - делитесь!
*

Morfei

  • Осваиваюсь на форуме
  • 24
  • 5 / 0
Re: Проверка данных при регистрации
« Ответ #13 : 20.07.2010, 04:57:36 »
Все гораздо проще в настройках самих полей есть и фильтра и длинна и все что хотите, все делается без правки кода.
*

norpe3s

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
Re: Проверка данных при регистрации
« Ответ #14 : 05.08.2010, 12:12:37 »
Все гораздо проще в настройках самих полей есть и фильтра и длинна и все что хотите, все делается без правки кода.
  и фильтра работают из списка тем самых кодов которые мы редактируем... там нет поля запрещённых символов, а только выбираются разные варианты
вам -
*

mark1

  • Захожу иногда
  • 394
  • 39 / 2
Re: Проверка данных при регистрации
« Ответ #15 : 11.01.2011, 14:46:21 »
  и фильтра работают из списка тем самых кодов которые мы редактируем... там нет поля запрещённых символов, а только выбираются разные варианты
вам -
И никакой ему не минус. Морфей, спасибо, светлая голова  :D Там же есть, среди прочих, и поле Custom. Указываем что захотим.
*

flier

  • Захожу иногда
  • 107
  • 2 / 2
Re: Проверка данных при регистрации
« Ответ #16 : 02.02.2012, 19:41:09 »
Не могу решить проблему, если в поле "Имя пользователя (логин)" встречается знак "-" то выдает сообщение "Пожалуйста, введите правильно Имя пользователя.  Необходимо вводить без пробелов, более 2 символов и только 0-9, a-z, A-Z".

Подскажите где искать, все перепробовал не получается!!
*

mikevlad

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Проверка данных при регистрации
« Ответ #17 : 06.08.2012, 06:00:55 »
Подскажите пожалуйста, какой вид должна иметь графа Perl Regular Expression: что бы пропускать только определенные сочетания цифр(персональные номера сотрудников) например 3423, 53242, 23423
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавить поле выбора группы при регистрации через CommunityBuilder 2.1.2

Автор mirra88

Ответов: 0
Просмотров: 1822
Последний ответ 27.02.2017, 15:07:48
от mirra88
Изменить вид формы регистрации CommunityBuilder 2.0.8 -?

Автор warlocksp

Ответов: 0
Просмотров: 2191
Последний ответ 14.05.2015, 13:47:42
от warlocksp
Необходимо уведомление о смене данных в CB

Автор labounch

Ответов: 0
Просмотров: 2179
Последний ответ 01.02.2014, 15:05:55
от labounch
Действия сразу после обновления данных пользователя в CB

Автор ecolora

Ответов: 2
Просмотров: 1727
Последний ответ 31.05.2012, 18:48:32
от ecolora
Перевод модуля регистрации СВ 1.7.1

Автор alexanderussgold

Ответов: 0
Просмотров: 1801
Последний ответ 28.11.2011, 18:03:56
от alexanderussgold