Arv*_*ind 2 c++ encryption perl
我正在开发一个跨平台应用程序,它将使用C++ - >移动设备创建,并使用Perl-> Desktop PC(如Windows/Linux/Mac OS).
现在,由于该应用程序可以下载,我担心黑客能够获取我的应用程序的源代码.
具体来说,应用程序将连接到我的中央数据库 - 至少,我希望黑客无法获取我的数据库连接详细信息.理想情况下,我希望不会破解代码的任何部分.
基本上,用户可以使用此应用程序更新他的一些信息 - 如果黑客掌握了这些数据,他们可以轻松更改任何不幸的用户数据.我想到的一件事是,用户必须首先使用OAuth/OAuth2进行身份验证(使用他的电子邮件ID @ yahoo/@ hotmail/@gmail) - 然后才会实际显示管理界面.但无论如何,在某些时候,应用程序将连接到中央数据库 - 这就是为什么我不希望数据库的访问细节受到损害.
许多组织制作此类应用程序,因此他们自己必须面对这类问题?我想知道如何保护我的应用程序(理想情况下是整个代码),以及至少数据库凭据.
简单的答案是您不公开您的数据库.永远.
添加一个服务层(可以是基于HTTP但不必是),它将处理身份验证和授权.然后,您的应用程序使用用户的凭据登录并代表他们行事.您的服务层公开了应用程序与之对话的API,但您的服务会生成并控制对数据库的所有调用.
您已经提到了OAuth - 这是一种向这种API添加身份验证的完全可接受的方式.