网站安全 - 限制允许的照片上传次数

时间:2013-12-14 11:19:04

标签: php security upload photo

我有一个人们可以上传照片并裁剪它们的网站。上传的代码如下:

    <form action="scripts/ajax/ajax_photo_processing_functions.php?photos=photoUpload method="post" enctype="multipart/form-data">
        <input type="file" name="file"><br>
    </form>

我想问一下我是否应该关注上传(或使用脚本/机器人/黑客/)上传无数张照片的人,直到服务器/ php文件系统100%已满并可能导致服务器摔倒了。

我理解这是否是一个愚蠢的问题,但我只是想了解其他人是否认为这是一个问题以及他们可能会采取什么措施?

THX

2 个答案:

答案 0 :(得分:1)

您需要计算每个用户在会话中(在服务器上)上传的照片数量。如果达到阈值,则将其阻止一段时间。但是,您需要确保只有人才能开始会话。使用众所周知的技术,例如强迫用户登录服务,也许必须先解决验证码......

答案 1 :(得分:1)

防止过度上传

  • 每个特定时期内可以上传的照片用户数限制。例如:单个IP每10分钟只能上传5张图片。
  • 限制每张照片的尺寸。例如:每张照片2mb。

免费不必要的文件

  • 即使我们可以阻止用户快速上传文件,他们也可以上传许多未使用的照片,最终会累积起来。您可以使用一个程序检查3个月内是否有任何照片未使用,并将其删除。

防止重复照片

  • 您可以对每个上传的图片进行哈希处理如果新上传的图片存在,请检查现有图片的内容和新上传的图片是否相同。

防止大规模攻击

  • 即使限制可上传的数字图片有帮助,也无济于事如果他们使用10,000个不同的IP来上传图片进行攻击。您可以拥有一个全局计数器,如果在最后10分钟内上传了超过1,000张图片,则启用全局验证码,这意味着用户需要输入验证码才能上传图片。