0

私は現在、Javascriptを使用してxmlhttprequest経由でファイルを送信するアップロードシステムに取り組んでいますが、これはうまく機能します。ここで、アップローダーに関する情報とともに、ファイル情報をデータベース内に保存したいと考えています。ファイルをアップロードするには、ユーザーがログインする必要があります。したがって、ログインしているすべてのメンバーを独自のテーブル (id、user_id、session_id、token) に保存しています。

今私の問題は、どうにかしてアップローダー情報のユーザー名を決定する必要があることです。私の現在の解決策は次のようなものです:

var fd = new FormData();
 fd.append("file", document.getElementById('file').files[0]);
 fd.append("user", {{username}});
 var xhr = new XMLHttpRequest();
 xhr.open("POST", "/upload/local/handleUpload.php");
 xhr.send(fd);

テンプレートファイルをレンダリングするためにtwigテンプレートシステムを使用しています({{username}}はphpスクリプトによって送信されるユーザー名です)

これで、ユーザー名を簡単に別のものに変更できることがわかりました。これが、「logged_in」テーブルにこのユーザー名とおそらくこの session_id を持つユーザーがいることを確認したい理由です。

私の最初のアプローチは、ユーザーの現在の session_id を追加して送信することです。

fd.append("session_id", {{session_id}});

しかし、ここに私の質問があります:これはこれを行うための「安全な」方法ですか? または、これをどのように処理すればよいですか?私が得ることができるすべての助けに感謝します!

どうもありがとう!

4

1 に答える 1

0

とにかくセッションCookieが送信されるため、セッションIDを送信する必要はありません。ユーザーが存在することを確認するにhandleUpload.phpは、データベーステーブルに対してセッションをチェックする必要があります。

于 2013-03-12T16:00:19.367 に答える