АЗ
Андрей Зимин30 ноября 2016 г. 6:51

Перенос расчетов на сторону клиента

Qt, calculate, client

Добрый день. Такой филосовский вопос чтоли…

Пользователь клацает по кнопке и на сервер идет сигнал. Сервер принимает этот сигнал и из него понимает что нужно делать следующее:

– к нужной циферке в поле юзера прибавить 1
– отправить новые данные юзеру

Вопрос: Можно ли… данную операцию прибавления отдать клиенту. Ну т.е. клиент получил данные от сервера пибавил 1 и отправил на сервер.

Зачем так? – для разгрузки сервера от лишних операций по вычсилению и переноса этих операций на сторону клиента чтоб загрузить его мощности. Таким образом сервер всего лишь пишет данные в БД.

Я понимаю, что звезды могут так сойтись, что данное приложение скачает невъеб…ного ума хакер)) возьмет файлы , вытащит из них кодировку операции +1 и сделает себе + 1 000 000. И реально ли такое (про хакера я имею ввиду)?

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

5
Evgenii Legotckoi
  • 30 ноября 2016 г. 18:32
Полагаю, что с Qt – это будет довольно сложно; сложнее, чем с Java. Это уже сродни дизасемблированию приложения будет. Проще подменить пакет, который будет идти на сервер. А сервер уже при следующем запросе отдаст подходящую обновлённую информацию с +100500.
    АЗ
    • 1 декабря 2016 г. 6:01
    Т.е. я мгу перехватить вот это QNetworkAccessManager::sendCustomRequest(request, “PATCH”, buffer);
    Поставить свой request и buffer?
      Evgenii Legotckoi
      • 1 декабря 2016 г. 6:07

      Нет. Можно перехватить пакет, который уже идёт по сети и заменить содержимое. В данном случае нужно, чтобы пакет данных передавался через какой-нибудь маршрутизатор с вредоносным ПО, которое отвечает за парсинг и замену содержимого. В качестве маршрутизатора может выступать даже обычный ПК.

      А что касается метода QNetworkAccessManager::sendCustomRequest(request, “PATCH”, buffer);, то здесь скорее уже внедрение фейковой библиотеки QNetwork, но в случае с Андроидом это не прокатит, там цельная apk, а не набор библиотек.
      А чтобы заменить часть кода – это нужно перекомпилировать само приложение, нужны исходники.

        АЗ
        • 1 декабря 2016 г. 6:22
        Т.е. можно не волноваться?))))
          Evgenii Legotckoi
          • 1 декабря 2016 г. 7:57
          нет. волноваться нужно )))

            Комментарии

            Только авторизованные пользователи могут публиковать комментарии.
            Пожалуйста, авторизуйтесь или зарегистрируйтесь
            e
            • ehot
            • 1 апреля 2024 г. 0:29

            C++ - Тест 003. Условия и циклы

            • Результат:78баллов,
            • Очки рейтинга2
            B

            C++ - Тест 002. Константы

            • Результат:16баллов,
            • Очки рейтинга-10
            B

            C++ - Тест 001. Первая программа и типы данных

            • Результат:46баллов,
            • Очки рейтинга-6
            Последние комментарии
            k
            kmssr9 февраля 2024 г. 5:43
            Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
            АК
            Анатолий Кононенко5 февраля 2024 г. 12:50
            Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
            EVA
            EVA25 декабря 2023 г. 21:30
            Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
            J
            JonnyJo25 декабря 2023 г. 19:38
            Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
            G
            Gvozdik19 декабря 2023 г. 8:01
            Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
            Сейчас обсуждают на форуме
            a
            a_vlasov14 апреля 2024 г. 16:41
            Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
            Павел Дорофеев
            Павел Дорофеев14 апреля 2024 г. 12:35
            QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь
            f
            fastrex4 апреля 2024 г. 14:47
            Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
            P
            Pisych27 февраля 2023 г. 15:04
            Как получить в массив значения из связанной модели? Спасибо, разобрался:))
            AC
            Alexandru Codreanu19 января 2024 г. 22:57
            QML Обнулить значения SpinBox Доброго времени суток, не могу разобраться с обнулением значение SpinBox находящего в делегате. import QtQuickimport QtQuick.ControlsWindow { width: 640 height: 480 visible: tr…

            Следите за нами в социальных сетях