我们正在拥有在实时服务器中托管的网站 我们开发了一个swing应用程序,通过它我们连接我们网站的远程数据库。这个应用程序还提供了从picassa软件系统上传文件到我们网站的功能。现在我们计划将这个应用程序放在我们的网站上,以便其他人可以下载并使用它。
如果我喜欢其他人可能会将我的.exe文件解压缩到jar文件。可能会看到属性文件并可以获取数据库和ftp客户端密码。所以我应该如何为我的属性文件提供安全性。
像picassa这样的软件如何保护我们的密码。 请介绍这些问题,以便我们进一步处理。
提前致谢,
答案 0 :(得分:1)
您的远程数据库网站是否有提供Web内容的应用服务器?如果没有,数据库是什么?
如果是这样,您应该写一个Swing应用程序与之通信的REST service或web service,以便所有数据库连接都是从应用程序服务器连接到数据库,而不是从Swing应用程序直接连接到数据库数据库。这有许多好处:除了您已经概述的安全性之外,应用程序服务器和数据库之间的延迟要比Swing应用程序和数据库之间的延迟小得多。此外,它使您有机会将业务逻辑封装在服务器上并重用Web应用程序中的代码,从而从Swing应用程序中提取它。
当然,您需要保护服务本身。为此,您可以使用Spring Security之类的用户身份验证系统来确保只有特定用户才能访问您的服务。这通常采用登录API的形式,建立一个短暂的会话令牌,然后对服务的所有后续请求将该令牌提供给头中的服务(SOAP头,HTTP头,等等)。
对于FTP要求,您也可以在服务端执行此操作,尽管您可能会将可能较大的文件传输到服务器,只是为了将它们上传到FTP站点。或者,如果可行,您可以为不同的用户提供不同的用户名和密码,然后在能够FTP其内容之前输入他们的凭据。然后没有共享的FTP密码,您不必担心暴露它。