Личный кабинет на готовом движке
Конечно, вот нагуглил для примера:vel писал(а):Я просто высказываю мнение Сам я использую стандартный web-интерфейс.
По поводу уязвимостей Joomla, то их навалом и самые примитивные фокусы с ней можно нагуглить.
Ну и чем эта уязвимость поможет злоумышленнику? Хоть 30 раз пусть сменит пароль администратора. Родной модуль авторизации все равно отключен и авторизация работает исключительно через билинг.Уязвимость позволяет удаленному злоумышленнику обойти ограничения безопасности на целевой системе. Уязвимость существует из-за ошибки в проверке входных данных сценариями /components/com_user/controller.php и /components/com_user/models/reset.php. Эксплуатирование уязвимости позволит изменить пароль администратора на целевой системе.
SQL-инъекции тоже бессмыслены, максимум чего можно добиться, это порушить сайт. В самой базе джумлы не хранится никакой полезной или критичной информации, даже бэкап месячной давности восстановит систему без проблем.
Так что ИМХО дело не в системе, а в руках которые ее эксплуатируют.
P.S. Один из факторов отказа от родного ЛК - как раз беззащитность не только самого ЛК, но и биллинга. Любой юзер а ЛК может завалить билинг в течении минуты. Попробуйте сами послать пару сотен запросов на создания какого либо отчета. В джумле для решения этой проблемы у меня ушло 30сек и пять строчек кода - проверка искуственного таймаута между действиями юзера, в родном решение этой проблемы не возможно (ну или багрепорт, долгое ожидания и килобакс денег и результат с пятью новыми глюками).
Во меня проперло на писанину. Курить бросаю... в очередной раз, так что если что обидное написал, не обращайте внимания.
Народ, кто-нибудь использует злополучный подарок другу?:( У меня при переводе средств у того, кто переводит средства, удаляются сервисные связки. В исходном коде с http://wiki.flintnet.ru/doku.php?id=jommla_urfaphp изменил только стоимость услуги и все.
Смотрите логи билинга, в плагине используются только две функции rpcf_add_payment_for_account и rpcf_add_once_service_to_user, проверьте работу каждой из них в отдельном скрипте.nicol@s писал(а):Народ, кто-нибудь использует злополучный подарок другу?:( У меня при переводе средств у того, кто переводит средства, удаляются сервисные связки. В исходном коде с http://wiki.flintnet.ru/doku.php?id=jommla_urfaphp изменил только стоимость услуги и все.
Также в исходном коде не содержится стоимость услуги и изменить ее в нем не возможно. Стоимость разовой услуги изменяется исключительно через админку билинга (если она у вас создана).
Всем привет.
Подскажите плз: при отображении информации о пользователе и в смене пароля выскакивает ошибка:
Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 0 in /usr/local/www/apache22/data/urfa/URFAClient_Packet.php on line 186
Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 0 in /usr/local/www/apache22/data/urfa/URFAClient_Packet.php on line 186
вот код функции:
Строка 186:
При этом в смене тарифа все нормально, и проверка urfы - тоже ок.
Буду благодарен за ответ.
Подскажите плз: при отображении информации о пользователе и в смене пароля выскакивает ошибка:
Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 0 in /usr/local/www/apache22/data/urfa/URFAClient_Packet.php on line 186
Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 0 in /usr/local/www/apache22/data/urfa/URFAClient_Packet.php on line 186
вот код функции:
Код: Выделить всё
function bin2long($data)
{
$arr = unpack('N2', $data);
if (PHP_INT_SIZE == 4) {
$hi = $arr[1];
$lo = $arr[2];
$isNeg = $hi < 0;
if ($isNeg) {
$hi = ~$hi & (int)0xffffffff;
$lo = ~$lo & (int)0xffffffff;
if ($lo == (int)0xffffffff) {
$hi++;
$lo = 0;
} else {
$lo++;
}
}
if ($hi & (int)0x80000000) {
$hi &= (int)0x7fffffff;
$hi += 0x80000000;
}
if ($lo & (int)0x80000000) {
$lo &= (int)0x7fffffff;
$lo += 0x80000000;
}
$value = bcmul($hi, 4294967296);
$value = bcadd($value, $lo);
if ($isNeg) {
$value = bcsub(0, $value);
}
} else {
if ($arr[2] & 0x80000000) {
$arr[2] = $arr[2] & 0xffffffff;
}
if ($arr[1] & 0x80000000) {
$arr[1] = $arr[1] & 0xffffffff;
$arr[1] = $arr[1] ^ 0xffffffff;
$arr[2] = $arr[2] ^ 0xffffffff;
$arr[2] = $arr[2] - 1;
//$value = 0 - $arr[1]*4294967296 - $arr[2] - 1;
$value = bcmul($arr[1], 4294967296);
$value = bcsub(0, $value);
$value = bcsub($value, $arr[2]);
} else {
//$value = $arr[1]*4294967296 + $arr[2];
$value = bcmul($arr[1], 4294967296);
$value = bcadd($value, $arr[2]);
}
}
return $value;
}
Код: Выделить всё
$arr = unpack('N2', $data);
Буду благодарен за ответ.
Эти варнинги не всегда проходят бесследно; когда-то встречались, следующие запросы после них могут не проходить. Если помню правильно, проблема была в DataSetLong.Kayfolom писал(а):А сама информация выводится корректно?
Warning это не ошибка, в переводе с английского это Предупреждение.
Error - вот это ошибка.
Если все работает корректно, регулируйте вывод предупреждений и уведомлений php с помощью
@ini_set("display_errors", "1");
error_reporting(E_ALL);
Да. Я пока ждал ответ нашел, что вывод идет из плагина кассира (extpay). ВОт еслитам выключить отображение ошибок, то ворнинги пропадают и в юзер инфо и в смене пассворда.Kayfolom писал(а):А сама информация выводится корректно?
Warning это не ошибка, в переводе с английского это Предупреждение.
Error - вот это ошибка.
Если все работает корректно, регулируйте вывод предупреждений и уведомлений php с помощью
@ini_set("display_errors", "1");
error_reporting(E_ALL);
А еще интересней, что на странице кассира этих ошибок нет.
Ребят, а подскажите какую функцию урфы можно использовать, чтобы поменять значение какого-либо поля в базе данных без перезагрузки админки?
Мне надо реализовать услугу "заморозка счета". Надо менять в базе тип блокировки. Я думал использовать функцию, как в плагине "информация о пользователе", rpcf_user5_change_int_status, но так и не смог разобраться как и где указать имя поля, значение которого нужно изменить
Мне надо реализовать услугу "заморозка счета". Надо менять в базе тип блокировки. Я думал использовать функцию, как в плагине "информация о пользователе", rpcf_user5_change_int_status, но так и не смог разобраться как и где указать имя поля, значение которого нужно изменить
nicol@s писал(а):Ребят, а подскажите какую функцию урфы можно использовать, чтобы поменять значение какого-либо поля в базе данных без перезагрузки админки?
Мне надо реализовать услугу "заморозка счета". Надо менять в базе тип блокировки. Я думал использовать функцию, как в плагине "информация о пользователе", rpcf_user5_change_int_status, но так и не смог разобраться как и где указать имя поля, значение которого нужно изменить
Код: Выделить всё
$accountinfo = $utm->rpcf_get_accountinfo( $user_id );
$accountinfo["is_blocked"] = $block;
$accountinfo["int_status"] = $status;
$utm->rpcf_save_account( $user_id, $accountinfo, 0, 0, 0 );