2010-07-24 179 views
2

我该如何说服我的客户extjs可以安全使用? 或 更好,我怎么能保证我的节目是安全的ExtJS的-3.x中,使数据DONOT进入坏人之手或无法被黑客攻击或者如果有人通过桌面上的一些工具 下载我的网站的JavaScript我将如何makesure它会不跑和更多? 像SQL注入安全问题extjs

+0

@Robert请不要编辑如此糟糕的旧的,题外话题。 – 2015-10-01 15:16:42

回答

12

bmoeskau的书推荐看起来不错。我不知道那个头衔,但我想我会去买它。

基于他的回答的第二部分,您需要确保您完全理解自己在做什么。请不要冒犯,但您的问题表明您对这些应用程序的工作方式没有十分完整的掌握。

任何基于Web的应用程序,你不能相信客户端。如果客户端是普通的HTML,某种AJAX化的DHTML,完全由ExtJS驱动的应用程序,Flash电影或本地桌面应用程序,则无关紧要。他们都是客户,而且他们都是轻易腐败的。

服务器端代码是你为自己辩护。总是。没有例外。永远。

担心SQL注入(你应该是)? - 在服务器上防止它。 (如果您正在编写创建SQL并将其发送到服务器的客户端代码,那么您几乎肯定会非常非常错误)。

需要确保只有某些用户看到/触摸某些数据? - 您需要在服务器上建立可靠的身份验证/授权框架。

你也应该担心CSRF - 再次,服务器端架构需要进行防范。

任何使用你的应用程序的人都会在他们的本地机器上拥有你所有的Javascript代码。这是生活中的事实。这正是您永远不会相信客户的原因。

几乎每个可能影响基于ExtJS的应用程序的漏洞都会影响其他应用程序。

因此,您可以告诉您的客户ExtJS没有任何其他客户端技术那么安全。这是因为安全性是服务器端代码的工作,而不是客户端。

为了避免这些漏洞,您需要仔细阅读,理解和编写代码。无论您使用的是什么库或技术。

5

我会强烈建议this book。您的安全性与您选择的JS框架无关,几乎与您的程序员在您的应用程序中遵循的做法有关。

2

来自ExtJs sencha论坛的回复,给出了任何JS框架的一般化答案。

客户端代码,如你所指出的,可以(有点)很容易地使用萤火虫或其他调试工具操作。对此你没有办法做。

搜索论坛讨论其他主题,这已经被讨论了大约1000次。

关于你的观点:

1)正如我刚才所说的,有没有办法来防止用户更改已经渲染到页面的代码(或改变服务器的响应)。 (a)不加载用户不应该访问的任何代码,并且(b)确保如果用户足够聪明以破解UI,那么您的服务器层具有必要的安全性到位。

这不是Sencha代码的缺陷......它是所有Web应用程序中的一个巨大的安全漏洞。

2)同样,你已经指出你可以缩小/混淆你的代码......但是如果浏览器可以读取它,你的用户也可以看到它。不是你可以做的事情。

3)XSS与Sencha框架无关。这是任何网页都可能存在的漏洞......它取决于您的服务器级安全性,以防止错误代码进入您的数据库。

4)更多相同。如果用户可以随时操作客户端代码,则没有任何东西阻止他们将垃圾数据注入请求。


我说这已经一百万次(这里类似的帖子) - 客户端本质上是不安全。这段时间不会改变,并且与ExtJS无关。你会遇到与jQuery,Dojo或其他工具完全相同的问题。