【问题标题】:File security when storing files as string将文件存储为字符串时的文件安全性
【发布时间】:2014-06-04 11:43:21
【问题描述】:

我有一个关于文件安全的快速问题。

我有一个 php 脚本,它从 <input type="file"> 标记中获取文件并使用 file_get_contents() 将文件数据存储在变量中,是否存在任何应该注意的安全风险?查看下面的代码:

$file_data = file_get_contents($_FILES[file]['tmp_name']);
$file = base64_encode($file_data);

基本上就是这样,我不存储或移动文件,只是获取其内容并将其作为字符串发送到 RESTFUL API。

我必须决定是否应该使用全新的网络服务器来接收这些请求,或者这种方法在主服务器上是否安全。该网站有很多访问者,我不得不假设人们会尝试使用文件字段。 API 不是问题,仅涉及托管脚本的服务器的安全性。

最好的问候

【问题讨论】:

  • 您担心人们会窃取图像?
  • 您好,以这种方式处理文件时,主要关注的不是服务器的安全性。文件上传是有风险的,尤其是在应该允许所有扩展名的情况下。

标签: php string file security


【解决方案1】:

根据 php 允许上传的文件大小、内存限制以及服务器拥有的内存量,它可以潜在地用于使服务器崩溃。使用 filesize() 检查大小是否在合理的范围内。

【讨论】:

    【解决方案2】:

    我看到了两个安全风险

    1. 您对输出和输入内容进行了最彻底的清理。
    2. 如果您大多数情况下通过验证其内容来检查文件类型。
    3. 文件路径最被沙盒化
    4. 限制文件大小

    【讨论】:

      猜你喜欢
      • 2019-08-15
      • 2010-09-20
      • 2011-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多