Перейти к содержанию

Лидеры

  1. ncv

    ncv

    Разработчик


    • Баллы

      2

    • Постов

      132


  2. freelancer

    freelancer

    Разработчик


    • Баллы

      2

    • Постов

      22


  3. halfhope

    halfhope

    Разработчик


    • Баллы

      1

    • Постов

      48


Популярный контент

Показан контент с высокой репутацией за 04.04.2024 в Записи блога

  1. Если открыть практически любой контроллер opencart, можно увидеть как после загрузки языка $this->load->language('catalog/product'); подгружаются языковые константы $data['text_list'] = $this->language->get('text_list'); $data['text_no_results'] = $this->language->get('text_no_results'); $data['text_confirm'] = $this->language->get('text_confirm'); $data['column_name'] = $this->language->get('column_name'); $data['column_attribute_group'] = $this->language->get('column_attribute_group'); $data['column_sort_order'] = $this->language->get('column_sort_order'); $data['column_action'] = $this->language->get('column_action'); и так для каждой константы. что бы не прописывать каждый перевод можно было сделать такой трюк $data = array(); // тут мы инициируем переменную $data если она не задана ранее $data += $this->load->language('catalog/attribute'); // а тут копируем в неё все языковые константы но это имело смысл только до версии 3.0 потому как с версии 3.0 добавили такую интересную штуку controller\event\language.php public function index(&$route, &$args) { foreach ($this->language->all() as $key => $value) { if (!isset($args[$key])) { $args[$key] = $value; } } } сами event'ы были и раньше, но language event добавили только в 3.0 а как же это работает? довольно просто: всё начинается с того что в файле framework.php создается и регистрируется event, который в свою очередь регистрирует все ивенты из конфига // Event $event = new Event($registry); $registry->set('event', $event); // Event Register if ($config->has('action_event')) { foreach ($config->get('action_event') as $key => $value) { foreach ($value as $priority => $action) { $event->register($key, new Action($action), $priority); } } } в конфиге среди прочих есть такие строчки $_['action_event'] = array( ... 'view/*/before' => array( 999 => 'event/language', ... таким образом перед каждым вызовом $this->load->view загружаются соответствующие языковые константы
    2 балла
  2. В мире электронной коммерции обновление и поддержание актуальности ассортимента товаров играют ключевую роль в привлечении и удержании клиентов. Для эффективного управления каталогом товаров необходимы инструменты, которые позволяют автоматизировать процесс импорта данных от поставщиков в интернет-магазин. В этой статье мы рассмотрим процесс разработки драйвера к API поставщика SkyB2B для использования с Диспетчером YML\XML. Мы подробно рассмотрим ключевые шаги, необходимые для интеграции с Диспетчером YML\XML, использования API поставщика SkyB2B, а также важные аспекты, такие как обновление данных, гибкость и масштабируемость системы. Описание драйвера к API поставщика SkyB2B: Для начала нужно получить доступ к API через личный кабинет или обратиться на специальный адрес. Каждый запрос к API требует авторизации с помощью уникального токена, полученного от поставщика. Драйвер должен быть разработан с учетом возможности интеграции с Диспетчером YML\XML. Это означает, что он должен быть способен форматировать данные в соответствии с требованиями Диспетчера и передавать их для импорта в магазин. Для получения информации о товарах, их ценах и наличии, драйвер должен успешно взаимодействовать с API поставщика SkyB2B. Это включает в себя процессы аутентификации, выполнения запросов к API и обработки полученных данных. Драйвер должен обеспечивать регулярное обновление данных из API поставщика, чтобы магазин мог поддерживать актуальность своего каталога товаров. Это включает в себя механизмы синхронизации и управления обновлениями, чтобы предотвратить дублирование или потерю данных. Основной задачей драйвера к API является получение информации о каталоге товаров, включая категории, наличие и цены. Для этого API предоставляет соответствующие методы, которые необходимо использовать в драйвере. Драйвер должен быть оснащен механизмами обработки ошибок и мониторинга, чтобы обеспечить надежность и стабильную работу в процессе обмена данными между поставщиком и магазином. При разработке драйвера к API поставщика SkyB2B для использования с Диспетчером YML\XML необходимо учитывать различные ограничения и возможные ошибки в процессе соединения. API поставщиков, включая SkyB2B, имеют ограничения на количество запросов, которые можно отправить в единицу времени. В драйвере предусмотрены механизмы учета и управления этими ограничениями, чтобы избежать блокировок или снижения производительности. При работе с удаленным API неизбежны временные сбои или проблемы с соединением. Драйвер способен корректно обрабатывать такие ошибки и предпринимать соответствующие действия, например, повторную попытку соединения. Для эффективной отладки и мониторинга работы драйвера присутствует системы логирования, которая может регистрировать все запросы, ответы и возможные ошибки. При работе с API и обработке большого объема данных необходимо эффективно управлять ресурсами, такими как память и процессорное время. Драйвер оптимизирован для минимизации нагрузки на систему и обеспечения быстрой обработки запросов. ссылка на демостенд с загруженными товарами Поставщика: Независимо от того, какой у вас поставщик и какие у него требования к API, мы готовы разработать индивидуальный драйвер, который настроен под ваши потребности.
    1 балл
  3. Упрощение управления вашим бизнесом с помощью Диспетчера YML/XML для поставщиков промышленного и складского оборудования В мире электронной коммерции ключевым моментом для успеха любого поставщика является эффективное управление информацией о продуктах. Это особенно важно для поставщиков промышленного и складского оборудования, чьи клиенты часто полагаются на точные и подробные данные о продукции перед принятием решения о покупке. В такой ситуации Диспетчер YML/XML становится незаменимым инструментом, который обеспечивает автоматизацию и стандартизацию процесса управления данными о продуктах. Что такое Диспетчер YML/XML? Диспетчер YML/XML - это модуль, разработанный специально для интернет-магазинов на платформах Opencart и ocStore. Он предоставляет возможность импортировать товары в ваш магазин, используя специальные ссылки на файлы в форматах YML/XML, предоставленные поставщиками товаров. Этот модуль обеспечивает удобство и гибкость, позволяя настраивать импорт товаров от разных поставщиков индивидуально под каждого из них. Преимущества Диспетчера YML/XM: Универсальность: Модуль поддерживает работу с различными поставщиками и форматами файлов (YML/XML), что позволяет вам легко интегрировать продукты от неограниченного количества поставщиков в ваш магазин. Гибкость настроек: Диспетчер YML/XML предоставляет возможность индивидуальной настройки импорта для каждого поставщика. Вы можете определять, какие поля данных импортировать, какие игнорировать, устанавливать цены, описания, характеристики товаров и многое другое. Обновление данных в режиме реального времени: Диспетчер YML/XML обеспечивает возможность регулярного обновления данных о товарах от поставщиков в режиме реального времени, что позволяет вашему магазину всегда оставаться актуальным. Пример использования Диспетчера YML/XML в интернет-магазине: Представим фирму "ПромТехно", которая специализируется на поставках промышленного оборудования для складов. Используя Диспетчер YML/XML, "ПромТехно" может легко управлять всем своим каталогом продукции, включая информацию о характеристиках продуктов, ценах, наличии на складе и фотографиях. Посмотреть пример использования Диспетчера YML/XML в деятельности поставщика промышленного и складского оборудования - https://h5012.h5.ose.su/index.php?route=product/category&path=1679 Далее эта информация автоматически обновляется на их сайте, а также на различных маркетплейсах, таких как Яндекс.Маркет, что позволяет им держать свой ассортимент актуальным и доступным для потенциальных клиентов. . Преимущества использования Диспетчера YML/XML для поставщиков промышленного и складского оборудования: Автоматизация процесса обновления информации: Диспетчер YML/XML позволяет поставщикам автоматизировать процесс обновления информации о продуктах на всех онлайн-платформах, что сокращает время, затрачиваемое на ручное обновление и предотвращает ошибки. Стандартизация данных: Благодаря стандартизации данных в форматах YML/XML, поставщики могут обеспечить единообразие информации о своем ассортименте на различных платформах, что упрощает процесс сравнения и выбора продуктов для клиентов. Улучшенная видимость продуктов: Использование Диспетчера YML/XML позволяет продуктам поставщика быть лучше обнаруженными на различных онлайн-платформах благодаря улучшенной оптимизации для поисковых систем и фильтрам. Эффективное управление ценами и наличием: Диспетчер YML/XML обеспечивает возможность быстро реагировать на изменения цен и наличия продукции, что позволяет поставщикам оперативно обновлять информацию на всех платформах и минимизировать риск потери продаж из-за устаревших данных. Для поставщиков промышленного и складского оборудования эффективное управление данными о продуктах является ключевым фактором успеха в онлайн-торговле. Диспетчер YML/XML для Opencart и ocStore представляет собой мощный инструмент, который обеспечивает удобство, гибкость и эффективность в интеграции товаров от разных поставщиков в ваш интернет-магазин.
    1 балл
  4. В статье представлено описание алгоритма/подхода для очистки от вирусов сайта на OpenCart. Эта статья рекомендована для технически подкованных пользователей, которые хорошо понимают код, а так же способны сами искать и применять широкий ассортимент ПО для решения задач. Если у вас другая CMS/фреймворк, все равно рекомендую ознакомиться, возможно, будет полезно. От автора Если вам нужно очистить сайт от вирусов с гарантией: Краткий алгоритм Делаем бекап сайта; чистим его на локальной машине; меняем все возможные пароли; удаляем файлы и бд с сервера; заливаем обратно очищенные копии файлов и БД; На случай если мы что-то пропустили, то нужно организовать наблюдение: Устанавливаем наблюдение за изменениями в файлах и включаем логи, если они были отключены; если что-то произойдет, то это будет отражено в логах и Вам останется только закрыть пропущенную уязвимость; продолжать наблюдение. Рекомендуемый период наблюдения — 3-4 недели. Подробное описание Подготовка к работе Скачайте файлы сайта и БД на локальный компьютер. Быстрее всего это сделать одним файлом (zip архив). Можно не скачивать папку «image» т.к. она имеет большой размер и там нет исполняемых файлов. Позже это нужно будет проверить (перед загрузкой очищенной копии сайта). Используя OpenServer/WAMP/LAMP или тот же хостинг, создаем новую базу данных и импортируем дамп базы вашего сайта. Разархивируйте файлы в удобную для работы папку. Работа с базой данных Находим таблицу oc_user и удаляем всех пользователей, кроме администратора. Никнейм администратора рекомендую переименовать, это защитит учетку от случайного перебора паролей. Следует изменить пароль администратора. В таблице oc_user, в поле password вставьте md5 хеш пароля, очистите поле salt. На этом все, пароль изменен. Перейдите в таблицу oc_modification, в ней хранятся модификаторы модулей. Проверьте код модификаторов на предмет уязвимостей. С 2020 года некоторые ботнеты используют модификатор заточенный под OpenCart — reverse shell. Работа с файлами В качестве подготовительных работ рекомендую удалить лишний мусор вроде phpinfo, кэш, логи. У OpenCart это так же неиспользуемые темы (кроме default), языки и модифицированные файлы (system/storage/modification). Проверьте файлы на наличие в них вредоносного кода. Для этого можно использовать ai-bolit (revisium), ShellDetector, LMD, антивирусы для ПК и любые другие средства. Ну а вообще для приложений с единой точкой входа, таких как OpenCart, следует искать дополнительные точки входа в приложение (места передачи скрипту инструкций, через $_POST, $_GET, $_COOKIE и т.д.) а так же попытки их обфускации (сокрытия). Если вы просматриваете весь код, то ускорить этот процесс поможет ускорить GIT или Beyond Compare. Они покажут вам новые и измененные файлы, сравнив ваш сайт с оригинальной версией движка. Анализ access логов сервера так же позволит найти инфицированные файлы. Следует искать прямые вызовы файлов. После очистки создайте zip архив с очищенными файлами сайта. Работы на сервере Поставьте заглушку с кодом 503 Service Unvaliable и оставьте доступ только для своего IP адреса, чтобы предотвратить доступ к сайту извне. С такой заглушкой поисковые боты зайдут на сайт позже и вы не потеряете позиции в поисковой выдаче. Смените все возможные пароли — Панель управления, База данных, FTP пользователи, почтовые аккаунты. Удалите старую базу данных и импортируйте очищенную копию. Удалите все файлы сайта с хостинга, кроме папки «image» и заглушки. Из папки image стоит удалить все что не является изображениями, т.е. все исполняемые файлы, их там быть не должно. Загрузите очищенные копии файлов на сервер и обновите пароли в конфиг файлах. Перейдите в раздел администратора магазина и обновите модификаторы. Защитите админку от перебора и излишнего любопытства, добавив дополнительную HTTP авторизацию. Включите логирование запросов, если оно было отключено. Установите наблюдение за изменениями в файлах. Если вы что-то пропустили при очистке, то это будет отражено в логах или в изменениях файлов. По логам можно будет вычислить источник повторного заражения и закрыть уязвимость. Современные ботнеты детектируют удаление своих файлов и перестают «стучаться», чтобы не выдавать расположение всех созданных ими файлов. Они бездействуют несколько дней или недель и стучаться снова. Если какой-то инфицированный код остался, то сайт будет заражен снова. Поэтому период наблюдения стоит увеличить до максимального. Общие рекомендации Не используйте варезные модули; Используйте сложные пароли. Не придумывайте их сами, используйте генераторы; Не используйте имена по-умолчанию, такие, как admin, переименуйте их; Заведите отдельные аккаунты (FTP/админка) для подрядчиков (фрилансеров), по окончании работ отключайте их; Следите за изменениями в файлах; Используйте резервное копирование; Рекомендуемые модули
    1 балл
×
×
  • Создать...