我正在开发一个小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>
然而,恶意用户可以上传图像并且永远不会请求修改后的图像,因此请填写硬盘。
我应该定期删除未使用的文件吗?
非常感谢!
答案 0 :(得分:1)
如果您的存储空间有限并且您有未知数量的数据,那么当您可以存储更多数据时,您需要决定该怎么做。这将以某种方式出现。如果您假装提供无限存储空间,那么当您无法使用时,就会有一个DoS。
任何策略都可能属于以下两种方式(如果可能的话,有三种方式):
超过高水位时,
2和3仍然需要您以某种方式找到新的存储空间,因此必须删除某些内容或者您需要更多存储空间。 1是非常自我维护的,但是可以通过发送足够的新垃圾来清除所有有用的旧数据。制作排名系统(最后访问,访问最多,由特权用户加载,组合这些......)和删除最不重要的系统可能是最平衡的事情。
答案 1 :(得分:0)