画像を投稿する等で、ファイルをアップロードするシステムでは、
場合によってはプログラムファイルがアップロードされてしまうと、そこまでのパスが分かれば
プログラムとして実行されてしまいます。
ファイルをアップロードするPHPプログラム
<?php
if (is_uploaded_file($_FILES['myfile']['tmp_name'])) {
$file_nm = "data/" . basename($_FILES['myfile']['name']);
echo $file_nm;
if (move_uploaded_file($_FILES['myfile']['tmp_name'], $file_nm)){
echo " up ok";
}
}
header('Content-Type: text/html; charset=utf-8');
?>
プログラムをアップすると
<?php
echo "ファイルが実行されました。";
?>
アクセスすると実行することが、可能となってしまいます。
プログラムが実行され、文字列が出力されてしまいました。
アップロードしたファイルは、保存場所を知られないようにしたり、
ファイル名を変えたりする必要があります。
また、画像ファイルの場合は、アップロードされた画像をリサイズして
おくことも有効ですね。
0 件のコメント:
コメントを投稿