首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开源Web框架:安全性

开源Web框架:安全性
EN

Stack Overflow用户
提问于 2009-04-27 15:11:39
回答 4查看 2K关注 0票数 2

流行的开源web框架有多安全?

我对Rails和DJango这样的流行框架特别感兴趣。

如果我正在构建一个要做大量电子商务的网站,那么使用像DJango和萨奇莫这样的框架可以吗?

安全受到威胁是因为他们的开放架构吗?

我知道操作系统并不意味着对黑客开放,Linux使用极好的身份验证机制,但是web是一种不同的游戏。

在这方面可以做些什么?

更新:

谢谢你的回答伙计们。

我知道我将不得不为一个安全的电子商务应用程序找到一个合适的托管服务,并且需要额外的安全层。

据我所知,Django和Rails的设计都考虑到了安全方面,最常见的形式攻击,如XSS、Injections等(Django书安全性上有一个漏洞)

我在等保安大师的意见。如果你是一个安全大师,你会推荐一个重要的网站,它可能会很受欢迎,建立在DJango或Rails上吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-19 23:56:00

我使用Django构建了几个站点,使用Satchmo构建了一个店面。封闭和开放源码框架之间的安全性没有区别,因为所有与安全相关的信息都是您安装的唯一信息。

例如,在启动项目时,settings.py文件中的“秘密代码”是唯一生成的。这取决于你的盐用户密码和保护你的加密密钥,就像你在任何平台上一样。

关于Django需要注意的一点是,所有表单输入都是通过卫生过程验证和“标记安全”的。您可以通过表单的cleaned_data字典访问经过净化的数据。

此外,所有模板都是自动转义的HTML,因此注入攻击或跨站点脚本的风险几乎为零。

最后,模型提供了额外的安全层,并在任何恶意数据通过时进行验证。

至于Satchmo,其通往paypal、visa等的电子商务网关被上述公司所接受,并使用它们的API,因此它们与任何其他支付网关一样安全。当然,您需要运行一个加密的HTTPS连接来进行信用卡支付,但这是普遍需要的,并且与您使用的框架无关。

票数 3
EN

Stack Overflow用户

发布于 2009-04-27 15:25:09

许多人说默默无闻是无效的。Microsoft产品、Adobe等可以作为证据来证明,在防止安全问题方面,封闭源代码并不比开源更有效。

许多开源倡导者认为,更多的目光是更好的方法,是对抗与安全相关的错误的一种方法。然而,在现实中,当您处理较小的应用程序或不太受欢迎的商业或开放源码时,通常很少看到。因此,有一个真正的危险,一些黑色帽子搜索谷歌代码的代码片段,其中有一个安全漏洞。

尽管如此,如果您使用的是一个相当流行的开源框架--我怀疑它是否比竞争的商业产品更安全。至少,您的可能会使更快地从一个非常活跃的社区中获得与安全相关的bug修复。

然而,如果你是认真的建立一个电子商务网站-你需要多层的保护。一定要确保有合适的防火墙和入侵保护/检测系统(IPS/IDS)。您可能需要支付一个主机服务,它将提供安全安慰和监控服务,以及主机。记住你的用户是你的客户!任何违规行为都会给企业带来灾难性的后果。

票数 5
EN

Stack Overflow用户

发布于 2009-04-27 19:28:58

有些答案只是讨论开源还是封闭和安全,但既然您问到了特定的框架,我想我会评论一下我对Rails的了解。

有间接补充安全性的特性,也有明确设计在Rails中实现安全性的特性:

  1. applications通常鼓励ActiveRecord访问Rails应用程序中的数据库。如果使用得当,则避免出现可能导致通过SQL注入利用的字符串连接问题。这是web应用程序中最常见的攻击方法之一。
  2. XSS -为用户输入的HTML编码文本提供易于使用的宏,以及清除用户可能输入的字段的JavaScript的代码。通过使用这些,您可以帮助您保护自己,防止跨站点脚本的来来往往。
  3. Cookie操作-在Rails中存储会话数据的默认机制是以Cookie的形式将其发送给最终用户。但是,用户不能简单地更改该数据,然后将其重新发送回服务器,因为它是在发送之前使用冗长的私钥签名的。任何修改后的会话数据都会立即对服务器产生明显影响。
  4. CSRF -这是一个复杂的解释,但Rails提供了其表单的安全性,以确保传入的请求来自您实际发送给用户的表单。

还有更多的东西,但是像Rails这样的现代框架从一开始就为帮助您获得更安全的web应用程序而构建了支持,这是很好的。也许熟悉Django特性的人也能参与进来。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/793964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档