允许用户从 URL 保存文件的安全问题


Security issues of let users save files from URL

我正在开发一个脚本,从给定URL的用户那里获取小文件(小于1 MB)并将它们保存在我的服务器上。

我主要担心的是,如果有人试图上传 1 GB 甚至更大的文件等大文件怎么办?如果文件是大文件,如何控制文件抓取?

我尝试了网络上的一些答案,但所有这些答案都处理整个文件。对于700 MB视频文件,它需要几分钟,这是否意味着该过程占用了我的服务器资源?

如果黑客继续将URL发布到大文件中,那么这些过程将占用我的服务器资源并且我将失去访问者怎么办。

有人可以建议我吗?

这应该可以解决问题。不能上传大于 1 MB 的文件

if($_FILES['file']['size'] < 1048576) { // This is one megabyte (in bytes)
    // the file is within size restriction, continue
} else {
    // File is too large, return an error
}

然后,您可以在上传之前使用一些javascript来测试文件大小,但请记住,您不能依赖它来确保安全性。

您可以在此处设置上传文件大小。喜欢这个

<?php
ini_set('post_max_size', '20K'); // If you need it like 10 MB , Set is as 10M
ini_set('upload_max_filesize', '20K'); 

忍者编辑:出于安全目的,这不是一个好的答案

您可以在 JavaScript 中检查文件大小,这样就不需要将其发送到服务器。您可以在此处找到完整的说明:JavaScript 文件上传大小验证