Андрей Степаненко
С нами с 28 октября 2014; Место в рейтинге пользователей: #8Борьба с парсерами и ботами - antiBot
Первый случай
Примерно год назад повадился на сайт парсер который шерстил сайт с разных IP адресов и c разными user agent, воровал информацию.
Сайт по содержанию имел около 10 миллионов страниц и ежедневно обновлялся по 10к страниц в день. Видел его даже в статистике сайта на метрике. Но все не мог придумать как его заблокировать.
Пробовал использовать компонент siteStatistics с костамизаций так чтобы можно было блочить его по IP адресам.
Худо бедно кое как избавился от этого парсера.
Второй случай
Две недели назад, какой то экспериментатор устроил мне атаку на форму регистрации пользователей, и как давай регистрировать по 2-3 пользователей в секунду. Пришлось закрыть сайт на некоторое время чтобы остановить регистрацию и выяснить как от него избавится. В итоге пару кастылей для формы регистрации еще пришлось написать. Но товарища я так и не успел вычислить так как компонент siteStatistics был отключен, и я честно говоря уже даже забыл как им пользоваться.
Кстати в логах сайта шарится не стал, так как понимал все ровно может повторится не на этом сервер так на другом, пришел один прийдет и второй
UPD: цена снижена с 1490 руб до 590 руб, чтобы можно было купить сразу для нескольких сайтов
msPriceList - Управление прайс-листами minishop2
msCartProduct - Добавляет товар на странице с корзиной и обновляет её
Компонент действуют как обертка для вывода товаров через сниппет msProducts для того чтобы можно было вывести дополнительные товары на страницу с корзиной и добавить их без перезагрузки страницы, с последующим обновлением корзины.
При попадании в корзину товар автоматически скрывается из списка, после того как все товары добавлены в корзину, скрывается и сама обертка где были эти товары.
При попадании в корзину товар автоматически скрывается из списка, после того как все товары добавлены в корзину, скрывается и сама обертка где были эти товары.
msGallerySearch - загрузка изображений в галерею minishop2 по ссылке и Google поиск картинок
Приложение расширяет стандартную галерею minishop2 добавляя в нее кнопки Загрузить по ссылке и Найти в google.
Теперь не нужно скачивать фотографии на компьютер для того чтобы добавить их в галерею.
Пока разрабатывал компонент msPre, удалось немного получить экспиреенс в ExtJs, и в результате удалось реализовать вот такую удобную кнопку для minishop2. Так же окно по поиску изображений в google но тут конечно из-за ограничений (в 100 запросов в сутки) по поиску сильно не разбежишься.
К слову о modx, за счет того что modx используется ExtJS можно очень сильно расширить возможности любых компонентов на бэкенде. Чего не наблюдается в других CMS/CMF. Так сказать на заметку тем кто думает что другие системы намного лучше.
Теперь не нужно скачивать фотографии на компьютер для того чтобы добавить их в галерею.
Пока разрабатывал компонент msPre, удалось немного получить экспиреенс в ExtJs, и в результате удалось реализовать вот такую удобную кнопку для minishop2. Так же окно по поиску изображений в google но тут конечно из-за ограничений (в 100 запросов в сутки) по поиску сильно не разбежишься.
К слову о modx, за счет того что modx используется ExtJS можно очень сильно расширить возможности любых компонентов на бэкенде. Чего не наблюдается в других CMS/CMF. Так сказать на заметку тем кто думает что другие системы намного лучше.
Массовый редактор товаров и не только
Еще одно доволь внушительное обновление для msPre. Основная фишка это массовое редактирование любых ресурсов, а так же правка ресурса прямо в таблице(без массовых действи).
Компонент в действии. Видео последней версии компонента.
Компонент в действии. Видео последней версии компонента.
msPre - обновление по переносу цен
Не большая но думаю полезная для многих новость по управлению ценами через компонент msPre
Теперь с помощью функции "Перенос цен" можно перенести цену из поля price в поле old_price и сделать скидку для поля price. Получается с помощью компонента теперь можно рулить скидками на товары.
Функционал в действии (нажать для просмотра gif):
Теперь с помощью функции "Перенос цен" можно перенести цену из поля price в поле old_price и сделать скидку для поля price. Получается с помощью компонента теперь можно рулить скидками на товары.
Функционал в действии (нажать для просмотра gif):
Как вернуть старую кнопку "Уничтожить ресурсы" в MODX
Характиристики 1С + msOptionsPrice2 и др. (CommerceML)
Компании растут, всем требуется больше возможностей от 1С и от сайта. 1С наверно никогда не сможет стать полноценным сайтом, все ровно фронтенд могу настроить только хорошие фронтендщики, кем 1С программисты не являются.
В общем статья для тех кто хотя бы раз синхронизировал 1С и Modx;
В общем статья для тех кто хотя бы раз синхронизировал 1С и Modx;
Обновление msPre - Экспорт товаров в CSV
Добавил в компонент msPre возможность экспорта отмеченных товары в CSV файл в UTF-8 с разделителе ;.
Пример файла
Плюс к этому создал окно для управления выгружаемыми столбцами. Чтобы можно было быстро выбрать нужные столбцы для экспорта.
В системных настройках добавлена настройка mspre_export_fields_product — столбцы для выгрузки товаров в CSV
Где возможно перечислить столюцы и их порядок для выгрузки и указать какие столбцы требуется включить
Увеличил скорость загрузка дерева категориями.
Теперь при большом объеме товаров дерево грузиться очень шустро.
Тестировалось на 20к товаров и около 40 категорий.
Дерево загрузилось букваль за 1-2 секунду.
Пример файла
Плюс к этому создал окно для управления выгружаемыми столбцами. Чтобы можно было быстро выбрать нужные столбцы для экспорта.
В системных настройках добавлена настройка mspre_export_fields_product — столбцы для выгрузки товаров в CSV
Где возможно перечислить столюцы и их порядок для выгрузки и указать какие столбцы требуется включить
Обновление от 29.12.2018
Загрузка дерева категорий
Увеличил скорость загрузка дерева категориями.
Теперь при большом объеме товаров дерево грузиться очень шустро.
Тестировалось на 20к товаров и около 40 категорий.
Дерево загрузилось букваль за 1-2 секунду.
Пару модификаторов для MODX
Модификатор телефонного номера
К примеру нам нужно вывести телефонный номер в формате: +7 (900) 2000 600 и так чтобы он нажимался как ссылка для запуска на устройствахНо так как плейсхолдер всего один [[++phone]]
Создаем сниппет phone c содержимым