Django是安全关键应用程序的不错选择吗?
我问这是因为大多数在线银行软件都是使用Java构建的。这有什么真正的原因吗?
答案 0 :(得分:30)
实际上,Java和Python中的安全性是相同的。仅摘要密码处理,快速超时的cookie,小心删除会话,多因素身份验证。这些都不是Java框架或像Django这样的Python框架所特有的。
实际上,Django有一个安全后端架构,允许您添加自己的LDAP(或AD)连接,可能会改变使用的摘要技术。Django有一个Profile模型,您可以在其中保留其他身份验证因素。
Django为视图功能授权检查提供了一些标准装饰器。由于Python非常灵活,您可以轻松地编写自己的装饰器函数,以便在不同的或额外的身份验证检查中进行分层。
安全性是Django中许多一流的功能。
答案 1 :(得分:17)
可能是Java背后的原因并不在于安全性。我认为Java更多地用于大型开发公司,银行通常会依赖它们来满足它们的开发需求(这可能不仅与网站有关,而且在后端更加深入)。
所以,我认为没有安全理由,主要是文化原因。
答案 2 :(得分:8)
使用Java构建银行应用程序的原因与安全性无关,至少恕我直言。它们与:
有关答案 3 :(得分:4)
我发现Java和银行业之间的联系错误了。
大多数银行软件都有可怕的安全性。许多银行软件都是用Java编写的。这是否意味着Java使编写安全软件比其他语言更难?
可能不是Java的错,因为银行软件中的安全性(和安全性)很少。实际上,就像其他海报所提到的那样,语言的选择通常对你的安全性没有什么影响 - 除非你选择少数语言中的一种,只有热门编码器才能编写安全代码(C和PHP会想到)。
许多大型电子商务网站都是使用各种框架用Python,Ruby和Perl编写的。我认为商家的安全要求远远高于银行业的要求。这是因为商家必须提供安全性和良好的用户体验,而银行客户愿意忍受无法使用的接口SecureID令牌等等。
是的:Django可以胜任这项任务。
答案 4 :(得分:1)
您不应该依赖框架上的应用程序的安全性。尽管Django确实采用了大量针对传统安全问题的措施,但它无法保证您的应用程序是安全的,您需要的不仅仅是编程框架来获得安全关键应用程序。
我会说是的,Django是一个很好的选择,只要你知道它的功能和限制,并且意识到每个应用程序的安全漏洞。
答案 5 :(得分:1)
您可以使用Django构建一个安全的应用程序,就像使用任何流行的Java框架一样。 Java确实发挥作用的一个部分是其广泛的加密库。
对于Django所需的最小加密任务,Python的加密服务已经足够,但是它缺乏强大的分组密码使得Django中的加密机制对于静态数据不安全。
Python本身支持安全散列算法,包括SHA1,SHA224, SHA256,SHA384和SHA512,但是Django的身份验证机制还没有 要更新以使用SHA1以外的任何东西,使其可能容易受到加密分析的影响。
答案 6 :(得分:0)
您指的是完整的应用程序是用Java构建的,还是仅仅是您在浏览器中看到的部分?如果是后者,原因可能是因为在网页的上下文中,可以下载并运行Java applet。