当前位置: 首页 > 面试题库 >

上传文件最安全的方法是什么?

扶冠宇
2023-03-14
问题内容

我所工作的公司最近在我们托管的站点上遭受了许多标头注入和文件上传攻击,尽管我们已解决了标头注入攻击的问题,但我们仍未控制上载攻击。

我正在尝试建立一系列即插即用型上传脚本,以供内部使用,设计人员可以将其复制到其网站的结构中,修改一些变量,并在其上准备一个随时可以上传的表单他们的网站。我们正在寻求尽可能限制暴露的机会(我们已经关闭了fopen和shell命令)。

我在过去一个小时内对该网站进行了搜索,发现了许多有关依赖外部资源的特定方法的答案。你们都认为最好的仅脚本解决方案足够具体,可以用作可靠的保护方法?另外,如果可能的话,我想将语言限制为PHP或伪代码。

编辑:
我找到了答案(在下面发布),尽管它确实使用了shell命令exec(),但是如果您阻止脚本文件上传(此解决方案效果很好),则不会遇到任何问题。


问题答案:

最好的解决方案,恕我直言,是将包含上载文件的目录放在“网络”环境之外,并使用脚本使其可下载。这样,即使有人上载了脚本,也无法通过从浏览器调用脚本来执行它,而您不必检查上载文件的类型。



 类似资料:
  • 问题内容: 我正在尝试运行从未知来源的C代码编译的程序。我想确保该程序无论如何都不会损害我的系统。例如,该程序可能在源代码中有类似东西,除非对代码进行彻底检查,否则无法检测到。 我想到了以下两种方法 在VMWare之类的VM中运行它 在Linux上构建Windows exe并在wine上运行 两者都不是很好的解决方案,我无法实现它们的自动化。并且在1的情况下可能会损坏VM。 任何帮助,将不胜感激。

  • 问题内容: 具体来说,我正在寻找一个基于JavaScript和/或Flash的客户端多文件上传器。我找到的最接近的东西是FancyUpload。任何人都有经验吗?如果没有,那还有什么呢? 问题答案: Yahoo的YUI上载器是您的朋友。

  • 问题内容: 我想在运行时删除安装在brew抱怨的位置的Python 警告: Python安装在/Library/Frameworks/Python.framework 什么是最好的方法? 以下是更多详细信息/研究: 来自brew git网站的消息: 重要提示: 如果您选择安装不是这两者(系统Python或酿造的Python)之一的Python,则Homebrew团队只能提供有限的支持。 在删除多余

  • 本文向大家介绍C# 最齐全的上传图片方法,包括了C# 最齐全的上传图片方法的使用技巧和注意事项,需要的朋友参考一下 方法里包括了图片大小限制、图片尺寸、文件内容等等的判断。。。 该案例是mvc下的demo,支持单张图片上传。 一般处理程序 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 问题内容: 好吧,这并不是一个问题,因为我并没有真正“卡住”我的代码,但是我发现Android API在访问外部存储设备和File.createTempFile()方法方面有些奇怪的行为, d想了解正在发生的事情… 请注意,我的清单 中不 包含。 第1部分 : 我有以下代码,它 确实可以 发挥作用: 它会为我创建一个临时文件,并且我可以毫无问题地在其中写入数据。 问题1 :为什么该功能有效,因为我

  • 问题内容: 我有一个不完整的csv文件,需要准确更新,因此有这样的csv文件: 自然地,文件要复杂得多,但是以这种格式,这是我要在7到8(或任何范围)之间插入或n个单词的内容。我怎样才能做到这一点? 伪代码,代码或示例都很好,我不知道如何开始。 更新: 也许我应该将其转换为数组或某种数据结构。然后,在特定位置插入新项目,将其余内容右移,并在每次插入时执行该操作。 我不知道是否正确的方法或如何开始对