我正在开发一个脚本,以便在给定URL的情况下从用户处获取小尺寸文件(小于1 MB)并将其保存在我的服务器上。
我主要担心的是,如果有人试图上传大型文件,例如 1 GB 文件甚至更大?如果它是一个大文件,我如何控制文件抓取?
我在网上尝试了一些答案,但所有答案都处理整个文件。对于700 MB
视频文件,它花了几分钟,这是否意味着该过程占用了我的服务器资源?
如果黑客不断向大型文件发布网址,那么这些进程会占用我的服务器资源,而且我会丢失访问者。
有人可以就此提出建议吗?
答案 0 :(得分:1)
您可以在此处设置上传文件大小。喜欢这个
<?php
ini_set('post_max_size', '20K'); // If you need it like 10 MB , Set is as 10M
ini_set('upload_max_filesize', '20K');
答案 1 :(得分:1)
这应该可以解决问题。不能上传大于1兆字节的文件
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来测试文件大小,但请记住你不能依赖它来保证安全。
答案 2 :(得分:-1)
Ninja编辑:出于安全目的,这不是一个好的答案
您可以在javascript中检查文件大小,因此您无需将其发送到服务器。您可以在此处找到完整说明:JavaScript file upload size validation