У меня есть встроенный элемент управления веб-браузером в приложении WinForms. Пользователь совершает какие-то действия на сайте, которые мне не принадлежат. В конце (например, на последней странице) мне нужно отправить подтверждение на мой сервер (например, через веб-службу), что пользователь действительно сделал то, что должен был сделать.
Прямо сейчас приложение собирает некоторые данные во время этого процесса и после некоторых странных вещей с этим (например, безопасность через неизвестность) отправляет информацию на мой сервер. Сообщение, которое отправляется из приложения на сервер, скрыто, а приложение написано на C++, поэтому его не так просто декомпилировать и проверить, что на самом деле отправляется. Кроме того, пользователь, который может взломать код, имеет возможность заработать очень небольшую сумму денег, и его легко отследить. Такой ситуации никогда не было.
Исходный код перестал поддерживаться, и я хотел бы переписать его с помощью C#. Проблема довольно очевидна: даже запутанный код взломать намного проще, чем старый нативный двоичный код C++.
Вы видите какой-то "безопасный" выход? Есть ли возможность получить что-то вроде цифровой подписи страницы, находящейся под управлением веб-браузера (только подключение https)? Я понятия не имею, как это сделать, кроме как взять учетные данные пользователя на внешней странице и выполнить действия на стороне сервера от его имени, что было бы совершенно неприемлемо.