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

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

Qt, calculate, client

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

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

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

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

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

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

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

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

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

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

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

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

            Комментарии

            Только авторизованные пользователи могут публиковать комментарии.
            Пожалуйста, авторизуйтесь или зарегистрируйтесь
            Ua

            Qt - Тест 001. Сигналы и слоты

            • Результат:84баллов,
            • Очки рейтинга4
            Ua

            Qt - Тест 001. Сигналы и слоты

            • Результат:42баллов,
            • Очки рейтинга-8
            ОК

            Qt - Тест 001. Сигналы и слоты

            • Результат:47баллов,
            • Очки рейтинга-6
            Последние комментарии
            ИМ
            Игорь Максимов22 ноября 2024 г. 21:51
            Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
            Evgenii Legotckoi
            Evgenii Legotckoi31 октября 2024 г. 23:37
            Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
            A
            ALO1ZE19 октября 2024 г. 17:19
            Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
            ИМ
            Игорь Максимов5 октября 2024 г. 16:51
            Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
            d
            dblas55 июля 2024 г. 20:02
            QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
            Сейчас обсуждают на форуме
            f
            firstlunoxod15 февраля 2025 г. 13:46
            Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
            Дмитрий
            Дмитрий3 февраля 2025 г. 16:24
            Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
            NW
            Nayo Wai30 января 2025 г. 19:22
            не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
            n
            nkly3 января 2025 г. 12:52
            Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
            M
            Marsel17 августа 2023 г. 0:26
            OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

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