Встраивание имени пользователя в приложение C ++ для облегчения входа в систему? - PullRequest
0 голосов
/ 18 декабря 2018

Защита от пиратства при разработке настольных приложений с помощью ключей продуктов, обфускации или аналогичных средств защиты на стороне клиента не имеет смысла (об этом говорится в большом количестве сообщений, связанных с переполнением стека).Единственный реальный способ предотвратить пиратство - это создать связь между клиентом и сервером, где важный код находится только на сервере.

Это то, что я пытаюсь сделать с моим программным обеспечением, требовать логин для аутентификации запросов.на сервер, чтобы обработать некоторые данные.Добавьте простой способ изменить пароль и отслеживание IP-сессий, и это довольно надежно.Однако теперь пользователь должен ввести имя пользователя и пароль, когда они хотят его использовать, и они могут очень легко ввести чужие учетные данные.

Тогда мне в голову пришла мысль, как насчет встраивания имени пользователя в приложение, когдапользователь загружает клиентское программное обеспечение?С точки зрения пользователя потребуется только пароль, что немного ускоряет процесс.Да, все еще возможно редактировать программу под чужим именем пользователя, но теперь это менее очевидно.


Так что это мой вопрос, есть ли какие-либо угрозы безопасности или недостатки в дизайне из-за того, что имя пользователя жестко закодировано в программе??А во-вторых, как начать реализацию встраивания имени пользователя и компиляции C ++, скажем, на серверном приложении Node js?

Спасибо за ваше время.

1 Ответ

0 голосов
/ 18 декабря 2018

Вам не хватает программного обеспечения, размещенного на сервере, и вот оно:

У вас всегда есть контроль над сервером.Вы никогда не управляете клиентом .

Поэтому, когда вы говорите:

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

Что вы действительно имеете в виду:

Когда кто-то вводит учетные данные другого лица, что я могу сделать?

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

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

Вы также не хотите встраивать информацию в исполняемый файл, потому что законные владельцы, ваши клиенты, захотят проверить, что они загрузили нужный файл на основе криптографического хэша, такого как SHA2.Если вы изменяете каждый файл, они не могут этого сделать, и каждая версия выглядит «взломанной».

Вместо этого, если вам необходимо, создайте какой-либо файл с зашифрованным доступом или файл лицензии, который можно предоставить на сервер и расшифровать.с ключом, который хранится только на сервере.Конечно, они могут поделиться этим файлом с кем-то еще, но вы можете определить несанкционированный доступ и обработать его соответствующим образом.

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