Новости Joomla

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

Небольшая нативная PHP Joomla библиотека для работы с API v.2 службы доставки CDEK. Библиотека представляет собой клиент для авторизации в CDEK API по OAuth, работы с некоторыми методами API: получения ряда данных и расчета стоимости доставки. Поддерживается Joomla 4.2.7 и выше.

В пакет входят:
- библиотека Webtolk/Cdekapi
- системный плагин System - WT Cdek для хранения настроек и AJAX-интеграций
- task-плагин Task - Update WT Cdek data для обновления локальных копий справочников CDEK по расписанию
- web asset с официальным JavaScript-виджетом СДЭК

👉 v.1.3.0. Что нового?
- Полный рефакторинг библиотеки. Библиотека переработана в entity-based API с фасадом Cdek и отдельным слоем запросов. Обратная совместимость не нарушена, поэтому версия библиотеки - 1.3.0.
- Добавлена поддержка новых разделов API СДЭК. Добавлена поддержка новых разделов API СДЭК: webhooks, prealert, печатные формы, payment, passport, reverse, intakes и других сущностей.
- Улучшена интеграция с Joomla.
Улучшена интеграция с Joomla: installer script для layouts, новые поля Joomla Form для тарифов и обновлённые js виджета CDEK.
- документация библиотеки. Все методы библиотеки подробно описаны, а так же текст документации собран в отдельной папке в git репозитории и будет опубликован на сайте.

Библиотека эта нужна для разработчиков, создающих свои расширения для интеграции Joomla и курьерской службы CDEK.

Страница расширения
GitHub расширения

@joomlafeed

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

usemind

  • Осваиваюсь на форуме
  • 33
  • 4 / 0
Здравствуйте.

Цель: вывести из таблицы данные А и Б, используя сторонний файл PHP, написанный на простом PHP, а не на жумловском. Я как бы не новичок, но мало что понимаю в PHP, простите уж.

Написал скрипт, который обращается к БД Joomla, но на обычном не жумловском PHP, типа:

$db = mysql_connect("localhost","base","pass");
mysql_select_db("name_db",$db);

это в одном файле. Например, разместил его в какой-нибудь директории и затем закроем её от записи, защитим файлом htaccess, типа:

<Files connect_to_database.php>
order deny,allow
deny from all
</Files>
Deny from all

Затем создал еще один файл, доступ к которому будет у пользователя, например он расположен в директории с Joomla 1.5 и называется video.php

в нем код получает из _GET запроса ID видео, которое будет выведено по ссылке, например:

http://site.ru/folder1/video.php?id=123

сам код файла

// подключаем файл, который подключился к БД и находится в защищенной директории (который описан выше)

require_once ($_SERVER['DOCUMENT_ROOT'].'/directory_no_access/connect_to_database.php');

//экранирование какое-то нарыл в хабре, наверное экранирует кавычки =)
function prepareStr( $str ) {
    return "'". str_replace(
        array( '\\', "\0", "\n", "\r", "'", '"', "\x1a" ),
        array( '\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z' ),
        $str ). "'";
}
$id_vi = ($_GET["id"]);
//get result
$result = mysql_query("SELECT video FROM prefixdb_videos WHERE id=". prepareStr( $id_vi ),$db);


while($row = mysql_fetch_assoc($result)){
    echo $row['video'];
}
mysql_close($connection);

Далее... при заходе на страницу пользователь будет видеть плеер видео у которого ID передается в _GET.

http://site.ru/folder1/video.php?id=123

НО!

Подскажите насколько это безопасно и уязвимо, и как проверить уязвимости, если таковые есть (если можно, то с примерами).
------------------2--------------
Как можно средствами Joomla подключится к БД с ней без использования первого файла, описанного мной, чтобы далее выполнить те же задачи... ?
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Данный код уязвим для sql-injection, то что используется фильтр это для обреза переносов строк и спец симвалов, поидее он тут вообще не нужен, достаточно использовать функцию trim()для того чтоб небыло иньекции, юзайте функцию intval(), подробней об этой функции можно почитать сдесь http://www.php.su/functions/?intval, также полезно почитать про http://php.net/manual/ru/function.mysql-real-escape-string.php,
вот так будет лучше
Цитировать
$result = mysql_query("SELECT video FROM prefixdb_videos WHERE id='".intval($id_vi)."'".,$db);
*

usemind

  • Осваиваюсь на форуме
  • 33
  • 4 / 0
winstrool, благодарю за хороший ответ. воспользуюсь Вашим советом :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

базы данных в папке администратора и безопасность

Автор Antonio Racter

Ответов: 3
Просмотров: 1102
Последний ответ 26.03.2017, 17:41:13
от Antonio Racter
Безопасность Joomla 3.0 Как блокировать запросы POST?

Автор BuzCrysl

Ответов: 19
Просмотров: 4016
Последний ответ 31.01.2017, 13:12:23
от sterveo
пытаюсь Вылечить сайт на 2, 5 от вредоносного скрипта

Автор inspire

Ответов: 8
Просмотров: 1361
Последний ответ 12.01.2017, 14:15:55
от vipiusss
Появление скрипта

Автор uisr

Ответов: 42
Просмотров: 4748
Последний ответ 13.12.2016, 11:36:04
от SeBun
Форма связи с пользователем (гостевая книга, форма комментариев) и безопасность

Автор Igoritaly

Ответов: 8
Просмотров: 1823
Последний ответ 13.11.2015, 15:57:39
от Igoritaly