Обновление компонентов "Донаты и складчины" и "UpJump - продвижение"

+7
626
Обновление компонентов "Донаты и складчины" и "UpJump - продвижение"

Получив по шее от Fuze, устранил уязвимости у компонентов «Донаты и складчины» и «UpJump — продвижение»

Всем, кто когда-либо скачивал с моего сайта платные версии этих компонентов, я БЕСПЛАТНО обновил версии во вкладке InstantCMS в вашем профиле на моем сайте. Обязательно скачайте новую версию и обновите — использовать компоненты предыдущих версий опасно!

Когда-то компонент «Донаты и складчины» был бесплатным. Если у вас на сайте установлена бесплатная версия, то у вас есть выбор:

  • срочно удалить компонент со всех своих сайтов;
  • приобрести подписку VIP и скачать новую безопасную версию;
  • внести изменения в файлы, как написано ниже.

В файле system/controllers/donates/model.php в самом низу перед закрывающей фигурной скобкой добавьте такой код:

  1. public function checkData($ctype_name, $item_id, $field_name) {
  2.  
  3. $ctype_name = preg_replace('/[^\w]/', '', $ctype_name);
  4.  
  5. if ($ctype_name != 'users' && $ctype_name != 'groups') {
  6.  
  7. $ctype = $this->getItemByField('content_types', 'name', $ctype_name);
  8.  
  9. } else {
  10.  
  11. $ctype = $this->get($ctype_name);
  12.  
  13. }
  14.  
  15. if (!$ctype) {
  16.  
  17. return '';
  18.  
  19. }
  20.  
  21. $field_name = preg_replace('/[^\w]/', '', $field_name);
  22.  
  23. $table = 'con_'.$ctype_name;
  24.  
  25. if ($ctype_name == 'users' || $ctype_name == 'groups') {
  26.  
  27. $table = $ctype_name;
  28.  
  29. }
  30.  
  31. $field = $this->getItemByField($table.'_fields', 'name', $field_name);
  32.  
  33. if (!$field || strpos($field['type'], 'donates') === false) {
  34.  
  35. return '';
  36.  
  37. }
  38.  
  39. if ($item_id) {
  40.  
  41. $item_id = (int) $item_id;
  42.  
  43. $item = $this->getItemById($table, $item_id);
  44.  
  45. if (!$item) {
  46.  
  47. return '';
  48.  
  49. }
  50.  
  51. }
  52.  
  53. return true;
  54.  
  55. }

2. Во всех файлах в папке system/controllers/donates/actions, в метод run() которых передаются какие-либо данные, в самом начале метода run() напишите это:

  1. $result = [];
  2.  
  3. $result['action'] = 'error';
  4.  
  5. $check_data = $this->model->checkData($ctype_name, $item_id, $field);
  6.  
  7. if (!$check_data) {
  8.  
  9. return $this->cms_template->renderJSON($result);
  10.  
  11. }

В одном из файлов вместо $field надо написать $field_name — смотрите, что в скобках: run(...). Это должно выглядеть примерно вот так:

Изображение

И еще, раз такое дело, снижаю цену на VIP до конца недели. Количество баллов такое же, но стоимость в рублях ниже на 20%. Только до конца недели))

0
Happy Happy 1 год назад #

Можно пояснение про безопасность, чему подвержены не исправленные компоненты? А то много говорят о безопасности но не понятно чего опасаться 

0
&$!#% &$!#% 1 год назад #

Лучше обновите. 

0
Happy Happy 1 год назад #

Да я обновлю в любом случае, просто понимание для простолюдинов )

0
Happy Happy 1 год назад #

Ведь не каждый компонент начальник проверяет на безопасность, наверняка у многих есть недоработки в компонентах . 

+2
&$!#% &$!#% 1 год назад #

А он и не проверял эти компоненты. Просто они работают примерно так же, как и это поле.

А недоработки есть у всех. Не ошибается тот, кто ничего не делает))

0
Lora Lora 1 год назад #

Можно ли как то по коду узнать платный компонент установлен или бесплатный?

0
&$!#% &$!#% 1 год назад #

Конечно. Можно смержить файлы и посмотреть отличия. Но эффективнее, думаю, посмотреть номер версии в админке. Компонент «Донаты и складчины» стал платным, начиная с версии 2.0.5. Ну или вспомнить, покупали или нет. 

0
Lora Lora 1 год назад #

Да нет возможности вспомнить, так как плохо не знать да ещё и забыть). Тот человек который на сайте занимался этим делом пропал. Теперь мало того, что там что то глючит, так ещё и хрен знает чем обновлять). У вас нет списка кому продавали? Если есть напишите мне в личку я дам вам необходимые данные. 2.0.3 версия. В базе глянул.

0
&$!#% &$!#% 1 год назад #

Версия 2.0.3 была бесплатной.

Еще от автора

Складчина на платные дополнения. Дубль 2
Понимаю, что я всем уже надоел со своими акциями/складчинами. Последняя попытка, простите.
Напишем поле для смены автора записи прямо из списка или из записи
Поле, с помощью которого админ сможет менять автора записи ТК прямо из списка записей или из самой записи.
Google Indexing, v. 1.1.1
Добавлен собственный API для автоматического добавления ссылок в очередь при публикации новых материалов на других ваших сайтах. И другое по мелочи.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.