2017-11-03 1 views
1

私はPHPで書かれたREST APIをSlim Frameworkに基づいています。PHPとSlimのファイルアップロードを保護する

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

ファイルアップロードスクリプトをどのように保護する必要がありますか?私はファイルサイズに制限を設定するだけでなく、画像(jpg、png)以外のものをアップロードすることから自分のWebサーバーを保護したい。 Slimでファイルをアップロードするためのベストプラクティスは何ですか?

答えて

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