私はフラッシュ ゲームのウェブサイトを持っています。私のパネルでは、ゲームに関するデータを挿入できる「ゲームのアップロード」ページを既に作成しています。今、私はしupload image, and swf file
なければなりません、どうすればそれを安全に行うことができますか?
私がすべきチェックについて教えてください(イメージとswfの場合)。
また、phpで動作するアンチウイルスがあれば教えてください。
ありがとう。
最初にファイル拡張子を確認し、次にPHP FILE INFO拡張子を使用してファイルの種類を確認します。拡張子の確認に頼らないでください。
$allowedExts = array("gif", "jpeg", "jpg", "png","swf");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "application/x-shockwave-flash")
)
&& in_array($extension, $allowedExts)) {
if ($_FILES["file"]["error"] > 0) {
echo "Error: " . $_FILES["file"]["error"] . "<br>";
} else {
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
} else {
echo "Invalid file";
}