Django 有多安全

问题描述 投票:0回答:5

我的一个客户问我这个问题。我什至不知道该回复什么?我不是安全专家,只是一名网络开发人员。我能说什么?

django security
5个回答
32
投票

默认情况下,Django 可以防止最常见的安全错误:

  • XSS(跨站脚本)保护 - Django 模板系统默认转义变量,除非它们被明确标记为安全。
  • CSRF(跨站点请求伪造)保护 — 易于全局开启,保证表单(POST 请求)从您自己的站点发送。
  • SQL注入保护——Django使用内置的ORM,因此不存在SQL注入的风险(原始查询是可能的,但绝不是初学者需要使用的东西)。

其他安全功能:

  • 点击劫持保护 — Django 可以检测到未经授权的内容请求
    iframe
  • 安全密码哈希 — Django 默认使用 PBKDF2,另一个选项是 bcrypt。两者都能够适应彩虹表的使用(感谢盐),两者都有大量的计算时间来防止简单的暴力破解。

还需要注意的是,Django 是用 Python 实现的,Python 具有出色的安全记录。因此底层语言不存在安全风险。

有关 Django 安全性的更多信息:https://docs.djangoproject.com/en/stable/topics/security/


18
投票

Django 与任何 Web 框架一样安全。它提供了工具和文档来防止常见错误导致安全问题(csrf、xss等)

然而,工具本身并不能“安全”。整个平台的安全性取决于您选择的工具的正确使用,因此更多的是开发人员技能的问题。


8
投票

作为一个网络框架,它具有一些可以帮助您确保网站安全的功能。 你不能直接说网络框架是安全的。

最终,一切都取决于您的客户如何设计他的项目。 Django 用于大型项目,因此它已被证明可以在生产环境中使用。 DISQUS 就是最好的例子之一。#

如果您的客户愿意付出一些努力来保护他的网站,他会喜欢 django 或任何其他框架,但它不是使网站安全的框架,而是开发人员使用框架的方式。


4
投票

Django 是最安全的 Web 框架之一。 Django 提供了一些开箱即用的方法来防止一些常见的 Web 应用程序漏洞,例如 -

  • SQL注入
  • CRLF注射
  • 定时攻击
  • 点击劫持攻击
  • 跨站脚本(XSS)
  • 跨站请求伪造(CSRF)
  • HTTP 严格传输安全 (SSL)
  • 会话劫持
  • 拒绝服务 (DoS)
  • 其他

我也遇到过类似的情况,然后我查阅了官方文档和多种资源。我在这里收集并整理了所有细节-

https://gauravvjn.medium.com/secrets-of-security-in-a-django-application-0dfb41957eb0


1
投票

Django 中的安全性 - 默认情况下,Django 可以防止最常见的安全错误: 跨站脚本 (XSS) 保护 跨站点请求伪造 (CSRF) 保护 SQL注入防护 点击劫持保护 SSL/HTTPS 主机标头验证

© www.soinside.com 2019 - 2024. All rights reserved.