Получив по шее от Fuze, устранил уязвимости у компонентов «Донаты и складчины» и «UpJump — продвижение».
Всем, кто когда-либо скачивал с моего сайта платные версии этих компонентов, я БЕСПЛАТНО обновил версии во вкладке InstantCMS в вашем профиле на моем сайте. Обязательно скачайте новую версию и обновите — использовать компоненты предыдущих версий опасно!
Когда-то компонент «Донаты и складчины» был бесплатным. Если у вас на сайте установлена бесплатная версия, то у вас есть выбор:
- срочно удалить компонент со всех своих сайтов;
- приобрести подписку VIP и скачать новую безопасную версию;
- внести изменения в файлы, как написано ниже.
В файле system/controllers/donates/model.php в самом низу перед закрывающей фигурной скобкой добавьте такой код:
public function checkData($ctype_name, $item_id, $field_name) { if ($ctype_name != 'users' && $ctype_name != 'groups') { $ctype = $this->getItemByField('content_types', 'name', $ctype_name); } else { $ctype = $this->get($ctype_name); } if (!$ctype) { return ''; } $table = 'con_'.$ctype_name; if ($ctype_name == 'users' || $ctype_name == 'groups') { $table = $ctype_name; } $field = $this->getItemByField($table.'_fields', 'name', $field_name); return ''; } if ($item_id) { $item_id = (int) $item_id; $item = $this->getItemById($table, $item_id); if (!$item) { return ''; } } return true; }
2. Во всех файлах в папке system/controllers/donates/actions, в метод run() которых передаются какие-либо данные, в самом начале метода run() напишите это:
$result = []; $result['action'] = 'error'; $check_data = $this->model->checkData($ctype_name, $item_id, $field); if (!$check_data) { return $this->cms_template->renderJSON($result); }
В одном из файлов вместо $field надо написать $field_name — смотрите, что в скобках: run(...). Это должно выглядеть примерно вот так:
И еще, раз такое дело, снижаю цену на VIP до конца недели. Количество баллов такое же, но стоимость в рублях ниже на 20%. Только до конца недели))
Реклама #
Happy 2 года назад #
Можно пояснение про безопасность, чему подвержены не исправленные компоненты? А то много говорят о безопасности но не понятно чего опасаться
&$!#% 2 года назад #
Лучше обновите.
Happy 2 года назад #
Да я обновлю в любом случае, просто понимание для простолюдинов )
&$!#% 2 года назад #
instantcms.ru/blogs/napishem-pole-dlja-pometki-neaktualnyh-zapisei.html#comment_118670
Happy 2 года назад #
Ведь не каждый компонент начальник проверяет на безопасность, наверняка у многих есть недоработки в компонентах .
&$!#% 2 года назад #
А он и не проверял эти компоненты. Просто они работают примерно так же, как и это поле.
А недоработки есть у всех. Не ошибается тот, кто ничего не делает))
Lora 1 год назад #
Можно ли как то по коду узнать платный компонент установлен или бесплатный?
&$!#% 1 год назад #
Конечно. Можно смержить файлы и посмотреть отличия. Но эффективнее, думаю, посмотреть номер версии в админке. Компонент «Донаты и складчины» стал платным, начиная с версии 2.0.5. Ну или вспомнить, покупали или нет.
Lora 1 год назад #
Да нет возможности вспомнить, так как плохо не знать да ещё и забыть). Тот человек который на сайте занимался этим делом пропал. Теперь мало того, что там что то глючит, так ещё и хрен знает чем обновлять). У вас нет списка кому продавали? Если есть напишите мне в личку я дам вам необходимые данные. 2.0.3 версия. В базе глянул.
&$!#% 1 год назад #
Версия 2.0.3 была бесплатной.