为什么提供静态文件不安全

2023-12-31

这可能是一个愚蠢的问题,并且有一个明显的答案,但我正在测试 404 和 500 错误处理程序,这意味着我必须将 debug 切换为 False。我进入 Django 管理页面,注意到没有提供静态文件。

我知道它们应该通过 Apache 路由,因为通过 Django 提供静态文件是不安全的。但是,我不太明白为什么直接通过Django提供静态文件会存在安全风险?


以下是 Django 1.8 文档关于该主题的内容:

--insecure

Use the --insecure选项强制使用 staticfiles 应用程序提供静态文件,即使DEBUG设置是False。通过使用它,您承认它的效率极低并且可能不安全。这仅用于本地开发,切勿在生产中使用,并且仅在以下情况下可用staticfiles应用程序在您的项目中INSTALLED_APPS环境。

正如你所看到的,他们说“效率极低”和“可能不安全”。他们没有说“绝对不安全”或“不安全”。我认为他们暗示的是他们还没有对网络进行彻底的安全分析staticfiles应用程序及其与 Django 其余部分的交互。

对我来说,“效率极低”的部分应该足以阻止您提供静态内容。做得更好很容易......从collectstatic命令。


经过更多搜索,我找到了这个 Google 网上论坛帖子,以回应有人询问原因--insecure是没有安全感的。

来自:马尔科姆·特雷丁尼克

除非经过设计和审核,否则任何事物都不能被认为是安全的 安全。我们没有对静态文件服务器进行任何操作。可能不会 存在安全漏洞,但不应被视为安全 因为这不是设计目标。

例如,安全文件服务器需要检查资源 分配问题,因此服务非常大的文件不构成 拒绝服务攻击。这需要大量额外的代码 管道管理不值得投入到只是 出于发展目的。

...这支持我的解释。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么提供静态文件不安全 的相关文章

随机推荐

  • 如何为独立集群非hdfs模式启用spark-history服务器

    我已经设置了 Spark2 1 1 集群 1主2从 如下http paxcel net blog how to setup apache spark standalone cluster on multiple machine http p
  • android studio 中的 android TV 模拟器可以接收演员表吗?

    我目前正在尝试实施Cast SDK进入我的应用程序 我遇到了一些问题 其中最大的一个是我没有Chromecast 有没有办法测试我的代码以确保它在不拥有安卓电视 or a Chromecast 是否安卓电视模拟器 in 安卓工作室支持演员接
  • Javascript 与 Django?

    我知道以前有人问过这个问题 但我很难在 Django Web 应用程序上设置 JS 即使我正在阅读文档 我正在运行 Django 开发服务器 我的文件结构如下所示 mysite init py MySiteDB manage py sett
  • 让用户在扫描仪Java中仅输入整数

    我这里有一些问题 我希望用户只能输入整数 我已经尝试了很多代码 但仍然不起作用 顺便说一句 这是我的代码 import java util Scanner public class test public static void main
  • Function.const 的目的是什么?

    它是在ScalaDoc http www scala lang org archives downloads distrib files nightly docs library index html scala Function 24但没
  • 向 PageDown markdown 编辑器添加新按钮

    如何向位于以下位置的 PageDown markdown 编辑器添加新按钮http code google com p pagedown http code google com p pagedown 理想情况下 该按钮将创建一个类似于用于
  • 如何在NSIS中调用PowerShell

    我正在尝试在 NSIS 中运行 PowerShell 当我运行 NSIS 脚本时 include x64 nsh Name nsExec Test OutFile nsExecTest exe ShowInstDetails show Se
  • Android 列表视图过滤与重新填充

    经过一些建议后 我的应用程序使用媒体存储光标在加载时填充列表视图 这会将音乐链接到用户定义的文件夹 在大多数情况下 该文件夹将是他们存储的所有音乐 我有一个 Beta 测试人员 正在使用一台装有大约 10000 首歌曲的 Archos 平板
  • Pandas 根据索引名称突出显示行

    我一直在努力研究如何根据索引名称突出显示 Pandas 行的样式 我知道如何突出显示选定的行 但是当我必须根据索引突出显示时 代码不起作用 Setup df pd DataFrame key list ABCD value range 4
  • 熊猫断言_帧_等于错误

    我正在构建测试用例 我想比较 2 个数据帧 即使数据帧具有相同的列和值 assert frame equal 报告也不相等 列顺序不同 我尝试对列重新排序但没有成功 在我的测试用例中 我使用以下函数 testing assert frame
  • 适配器-适配器模式的任何真实示例[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想演示使用适配器模式 https en wikipedia org wiki Adapter pat
  • Spark中字符串类型的汇总统计

    Spark 中是否有像 R 中那样的汇总函数 Spark MultivariateStatisticalSummary 附带的汇总计算仅适用于数字类型 我有兴趣获取字符串类型的结果 例如前四个最大出现的字符串 groupby 类型的操作 唯
  • 可以在 Typescript 中向 Promise 添加取消方法吗?

    我想创建一个 QueryPromise 它只是一个带有取消方法的具体承诺 下面是它的使用方法 function runQuery text string QueryPromise return new QueryPromise resolv
  • Spring OAUTH:覆盖 CheckTokenEndpoint 'check_token?token=' 响应映射

    我想重写 CheckTokenEndpoint 以将我自己的自定义输出作为 Map 提供给资源服务器 我已尝试以下操作 但不起作用 为 oauth check token 引入新的自定义控制器 但 Spring 拒绝此自定义并注册自己的控制
  • 将 PagedList 与 ViewModel ASP.Net MVC 结合使用

    我正在尝试在 ASP Net 应用程序中使用 PagedList 我在 Microsoft 网站上找到了这个示例http www asp net mvc tutorials getting started with ef using mvc
  • 我的日志消息不会通过 proguard 配置被删除

    我正在开发我的 Android 应用程序 然后我通过以下方式启用并配置混淆器 步骤1 启用proguard In 项目 属性 I have proguard config sdk dir tools proguard proguard an
  • 使用 R,将可变行数的文本合并到单个文本元素中

    什么样的 R 代码可以将下面的模拟数据框中每个人的叙述条目合并到一个变量中 数据来自 Excel 电子表格 其中记录的叙述条目可以有 1 到 8 行 每个计时员的记录都以空行结束 假设这个数据框 dput 如下 gt df timekeep
  • 提前终止工作人员 puma 日志意味着什么?为什么会发生这种情况?

    对于我的 Elastic Beanstalk 实例 我得到了504每当我访问它时状态代码响应 当我跟踪日志时 我在 puma 应用服务器上看到以下日志 gt var log puma puma log lt 27240 Early term
  • 在 PL/SQL 中将 varchar2 转换为日期 ('MM/DD/YYYY')

    我需要将字符串从 varchar 转换为 MM DD YYYY 格式的日期 我的输入字符串是 4 9 2013 我的预期输出是 04 09 2013 即 2 位月份 2 位日期和 4 位年份 以 分隔 我有以下数据 DOJ varchar2
  • 为什么提供静态文件不安全

    这可能是一个愚蠢的问题 并且有一个明显的答案 但我正在测试 404 和 500 错误处理程序 这意味着我必须将 debug 切换为 False 我进入 Django 管理页面 注意到没有提供静态文件 我知道它们应该通过 Apache 路由