【问题标题】:Is Javascript a good option for providing security within a web app? [closed]Javascript 是在 Web 应用程序中提供安全性的好选择吗? [关闭]
【发布时间】:2013-07-02 09:26:25
【问题描述】:

我希望在服务器上构建一个可供移动和桌面应用程序访问的数据库。 这个想法是,当应用程序安装在计算机上时,它将联系服务器数据库并自行注册,尽可能少地与用户交互。 我想我的问题是我怎样才能有效地注册一个新的应用程序,它是在服务器数据库上以安全的方式关联的计算机?

我是否有用于注册目的的默认用户名和密码?我想这很不安全。

例如,如果我开发了一个与 Web 应用程序交互的移动应用程序,比如说像 Dropbox 或 netflix 那样,那么 JavaScript 是一种实现安全性的好技术。

【问题讨论】:

  • 保护服务器数据库到底是什么意思?安全性由三个域组成,CIA 机密性、完整性和可用性。根据您的应用程序、服务器及其子组件的需要,您应该获得一个风险矩阵,该矩阵应该为您提供安全方面的指导。再说一次,如果安全不是一个真正的问题,而你只是想减少一些已知的风险,那就是另一回事了。无论如何,你不应该有默认密码,它们是黑客的简单方法

标签: javascript security


【解决方案1】:

虽然我发表了评论,但让我通过为您提供一些与安全相关的良好阅读和材料来为您提供更多帮助。 你必须明白,从第一天甚至从第一天起就必须加强安全性;否则最后增加安全性变得非常困难。您还必须了解,安全性并不总是与编码或购买可用的最昂贵的安全工具有关,安全性是关于对冲风险并根据您的需求和能力调整它们。 以下是其他帖子的一些链接,其中讨论了一些安全方面

post1

another post

另外,如果安全性是您项目的一个重要方面,或者您希望该项目在未来发展并成为一个可行的项目,我建议您阅读 ISO 27000 出版物(特别是 27001 和 27002)或FIPS(199 和 200)。这些阅读内容有点长,但它们是信息系统安全的标准。当然,您可能不需要遵循这些标准的所有方面,但它们可以为您提供很好的指导。另一个已知的风险评估解决方案是 OCTAVE,它也有点长,但更容易理解,并且有大量的指导和工具。

【讨论】:

  • 感谢您对我非常模糊的问题的建议
【解决方案2】:

从您的问题和标签看来,您正准备在公共互联网上可见的机器上部署 MySQL 服务器实例。您似乎正计划让您的桌面和移动应用程序建立连接,使用 MySQL 协议并使用众所周知的 MySQL 服务器访问凭据(用户名/密码)进行注册。

不要这样做!说真的。

相反,在 Web 服务器上创建一个小型 Web 应用程序,而不是连接到您的 MySQL 数据库。安排您的客户端应用程序联系您的 Web 应用程序,并提供注册所需的信息。然后让 Web 应用执行注册所需的任何 MySQL 操作。

将您的 MySQL 服务器放在防火墙后面。如果您有数据中心或托管服务,这很简单,而且很可能已经完成。如果您正在运行自己的机器(物理或虚拟),请设置 MySQL,使其在公共互联网上不可见。

原因如下:

首先,让数据库服务器在公共互联网上可见是一种糟糕的做法。它使您可以使用各种坏人技巧,例如拒绝服务攻击和试图窃取您的用户数据。

其次,您的客户端应用程序必须使用 MySQL 访问协议软件。与使用 HTTP 发布“注册”请求相比,这有点臃肿。

第三,与 MySQL 相比,HTTP 是超轻量级的。您的客户发送一个简单的请求并等待一个简单的响应。运行您的应用程序(apache、nginx、IIS 等)的 Web 服务器很擅长对大量请求进行排队。

第四,如果您在 Web 应用程序中执行此操作,则可以在更改数据库或业务规则时更新 Web 应用程序。如果您将 MySQL 查询放在客户端应用程序中,则灵活性会大大降低。

祝你好运。上网时要小心。

【讨论】:

  • 感谢您对我含糊的问题的帮助。
猜你喜欢
  • 1970-01-01
  • 2015-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多