Javascript是在Web应用程序中提供安全性的好选择吗?

时间:2013-07-04 11:30:10

标签: javascript security

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

<德尔> 我是否有用于注册目的的默认用户和密码?我想这是非常不安全的。

例如,如果我开发一个与网络应用程序交互的移动应用程序,比如dropbox或netflix如何做,那么Javascript是一种实现安全性的好技术。

2 个答案:

答案 0 :(得分:1)

虽然我发表了评论,但是通过为您提供一些安全相关的阅读和材料,让我帮助您一点点。 你必须明白,从第1天开始,甚至从第0天起,都必须考虑到安全性;否则最后添加安全性变得非常困难。您还必须了解安全性并不总是关于编码或购买最昂贵的安全工具,安全性是关于对冲风险并根据您的需求和容量进行调整。 如果已经讨论了一些安全问题,那么下面是其他帖子的一些链接

post1

another post

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

答案 1 :(得分:0)

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

不要这样做!说真的。

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

将MySQL服务器置于防火墙之后。如果您有数据中心或托管服务,这很简单,很可能已经完成。如果您正在运行自己的机器(物理或虚拟),请设置MySQL,以便从公共互联网上看不到它。

原因如下:

首先,通过公共互联网显示数据库服务器是不好的做法。它可以让您了解各种恶意技巧,例如拒绝服务攻击以及企图窃取用户数据。

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

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

第四,如果您在Web应用程序中执行此操作,则可以在更改数据库或业务规则时更新Web应用程序。如果你把MySQL查询放在你的客户端应用程序中,事情会变得不那么灵活。

祝你好运。在互联网上要小心。