我有用PHP编写的REST API,基于Slim Framework。
use Slim\Http\UploadedFile;
$uploadedFiles = $request->getUploadedFiles();
$uploadedFile = $uploadedFiles['myFileName'];
我应该如何保护文件上传脚本?我不仅要设置文件大小的限制,还要保护我的Web服务器不上传除图像(jpg,png)之外的任何内容。 Slim中文件上传脚本的最佳实践是什么?
答案 0 :(得分:1)
您可以在服务器的php.ini中限制上传文件大小限制,只需将upload_max_filesize
指令的值更改为您想要的最大限制。
至于只允许某些文件类型,您可以使用以下内容实现此目的:
<?php
$extension = pathinfo($uploadedFile, PATHINFO_EXTENSION);
$allowed = ["image/jpeg", "image/png"];
if(!in_array($extension, $allowed)) {
$error = "File type is not allowed!";
}