chmod 777は、アップロードスクリプトを機能させるための最良の方法ではないことは誰もが知っています。だから私はそれを使うときに何が最善の解決策になるかを考えていました。
ユーザーがファイル「 picture.jpg」をアップロードすると、名前を「md5(username-picture-1.jpg)」に変更して、Webページにとして表示できると思いました<img src="files.php?img=username-picture-1.jpg">
。
次に、このfiles.phpファイルは次のようになります
<?php
$file = md5($_GET['img']);
header('Content-Type: image/jpeg');
header('Content-Length: ' . filesize($file));
echo file_get_contents($file);
?>
そうすれば、ユーザーはアップロードしたファイルのファイル名がわからなくなり、実行できなくなります。私は正しいですか?
そして明らかに、mimeタイプやその他のもののようにアップロードを処理するために他のいくつかのチェックがあります。これが、ユーザーがアップロードしたファイルを実行できないようにする方法であるかどうかを知りたいだけです。