保护PHP和Slim

时间:2017-11-03 20:46:16

标签: php file-upload slim

我有用PHP编写的REST API,基于Slim Framework。

use Slim\Http\UploadedFile;
$uploadedFiles = $request->getUploadedFiles();
$uploadedFile = $uploadedFiles['myFileName'];

我应该如何保护文件上传脚本?我不仅要设置文件大小的限制,还要保护我的Web服务器不上传除图像(jpg,png)之外的任何内容。 Slim中文件上传脚本的最佳实践是什么?

1 个答案:

答案 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!";
}