首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CGI --临时文件

CGI --临时文件
EN

Stack Overflow用户
提问于 2010-01-08 02:58:40
回答 2查看 322关注 0票数 1

我正在开发一个小的CGI应用程序(用C语言编写,带有CGIC,http://www.boutell.com/cgic/)。我的应用程序需要创建一个临时文件(用户上传一个图像,它被保存,以各种方式修改,然后显示给用户)。

创建临时文件时应采取哪些预防措施?

修改后的镜像由CGI脚本动态提供,然后将临时文件从磁盘中删除:

类似这样的东西:<html><head><title>here's your modified image</title></head><body><img src="cgi-bin/genimage.cgi?uid=5423423 /></body>

然而,恶意用户可以上传图像,并且永远不会请求修改后的图像,因此会填满硬盘。

我应该定期删除不使用的文件吗?

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-02 15:00:31

如果您的存储空间是有限的,并且您有未知数量的数据进入,那么您将需要决定当有更多的数据可以存储时该怎么做。无论如何,这一点都会出现。如果你假装提供无限的存储空间,当你做不到的时候,就会有一个DoS。

任何策略都可能分为以下两种方式(如果可能的话,3种):

当超过高水位线时,

  1. 丢弃最旧/最不需要的数据以腾出空间
  2. 丢弃传入数据以避免变满
  3. 暂停传入数据,直到低于低水位线

2和3仍然需要你以某种方式寻找新的存储空间,所以要么删除一些东西,要么你需要更多的存储空间。1是非常自我维护的,但是可以通过发送足够的新垃圾来清除其中所有有用的旧数据。建立一个排名系统(最后一次访问,最多访问,由特权用户加载,这些组合...)而删除最不重要的内容可能是最好的平衡。

票数 1
EN

Stack Overflow用户

发布于 2010-01-08 03:05:48

使用CGI进行直接的应用程序设计是有问题的--也就是说,不是web框架/应用程序引擎。我建议您使用Java进行图像处理,或者将其包装在lua或python中。

如果你继续使用C,一定要限制CGI的执行环境,把它关进监狱,看看this post获得一些灵感,here是另一个。

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

https://stackoverflow.com/questions/2022835

复制
相关文章

相似问题

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