現在、C# クライアントを使用して、以下のコードを使用して大規模な Microsoft Access データベース ファイルをアップロードしています。
System.Net.WebClient Client = new System.Net.WebClient();
Client.Headers.Add("Content-Type", "binary/octet-stream");
byte[] result = Client.UploadFile(@"http://localhost/upload.php", "POST", fileUpload);
最終的には資格情報認証を追加して、意図したクライアントがデータを送信していることを確認する予定です。また、httpsで送信することを期待しています。
しかし、php サーバーでこのファイルのストレージを保護する方法に完全に困惑しています。私の懸念は、phpスクリプトがファイルをパブリックアップロードディレクトリからプライベートディレクトリに移動しているため、ダウンロードできることです。このドキュメントをアップロードして保存する最も安全な方法は何ですか?
以下は、PHP サーバー側スクリプトが現在どのように見えるかのアイデアです。
$uploaddir = 'upload/'; // Relative Upload Location of data file
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
$uploadfile = $uploaddir . basename($_FILES['file']['name']);
echo 'File '. $_FILES['file']['name'] .'uploaded successfully.';
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
echo 'File is valid, and was successfully moved. ';
}