我有一个有两个版本的软件。一个版本被设计为具有其自己的数据库(MS SQL CE)的桌面应用程序,该数据库将驻留在用户的机器上。另一个版本有一个客户端 - 服务器应用程序,数据库驻留在服务器上。在这两种情况下,数据库结构几乎相同。我们之所以设置这个原因,是因为我们在互联网连接不可靠的发展中国家工作,而且客户端服务器或基于Web的应用程序并非总是可行。某些软件使用也不需要数据共享,数据库更容易驻留在机器上。
使用桌面版的人可以简单地打开SQL CE数据库并查看所有表和字段。这些知识是否使我的客户端 - 服务器应用程序更容易被黑客攻击?如果是,我可以采取哪些措施来降低风险。
答案 0 :(得分:0)
数据库结构本身不会使您的Web应用程序容易受到攻击。但是,如果在客户端 - 服务器应用程序中某处存在SQL注入或其他漏洞,对于攻击者而言,使用数据库操作会更容易(将花费更少的时间)。 换句话说,使用公开的数据库结构,您的应用程序的安全性并不低,特别是如果它有利于某些用户的性能。
答案 1 :(得分:0)
了解数据库结构可能会降低您的应用程序的安全性。
您可以为数据库结构开发前端,这样就不会直接向用户公开。