2012-04-06 5 views
0

私はここで大きな画像のアイデアを探しています。私はgoogleの細目はガイドラインと一度提供することができます。PHPを使ってマルチユーザファイルサーバシステムを作る方法は?

私は、Dropboxやskydriveなどの比較的単純なファイルホスティングWebサイトを主に教育的な理由から作成したいと考えています。

PHPとMySQLを使用したマルチユーザーログインと登録システムを作成するのは簡単ですが、各ユーザーのファイルディレクトリとアクセス許可をどのように管理すればよいですか?

+0

この質問はあまりにも広すぎます。質問の策定方法については、[FAQ](http://stackoverflow.com/faq)をご覧ください。 – ghoti

答えて

1

最も単純なのは、Webサーバーを介して一般公開されていない場所にある任意の階層のどこかにファイルを保存することです。各ファイルに関するメタ情報をデータベースに格納します。前記データベースにおいて、ファイルの所有者を格納する。人々がそれらのファイル(readfileを参照)をダウンロードできるようにするスクリプトを作成し、ユーザーがログインし、ファイルの所有者しかログインできないようにします。

+0

したがって、各ファイルのアクセス許可データをデータベースに格納することをお勧めします。 PHP関数readfileは、私が使用しているもののようです。また、LDAPが、私が潜在的に使用できるものかどうか疑問に思っていましたか? – quuxbazer

+0

おそらく、他の場所でLDAPを使用している場合を除き、多すぎるようです。アクセス制御の実装方法の詳細は、正確に何が必要なのかによって異なります。グループアクセス可能なファイルシングルユーザーのみ?一時的なアクセスですか?必要なものをデータベース構造の上にモデル化することができます。 – deceze

1

は、おそらくこれを行う方法の何百もありますが、これは私がどうなるのかである:それは悪用される可能として

  • 彼らは直接ダウンロードパスを持っていることはありません。
  • すべてのファイルを同じ場所に保存できます。
  • ファイル名は、二重引用符を避けるために一意のIDに変更する必要があります。
  • ファイル名、一意のID、およびユーザーIDをデータベースに格納します。
  • 一意のIDのページにアクセスすると、確認してファイル情報を表示できます。
  • ファイルを直接ダウンロードするのではなく、ファイルに渡します。
  • 彼らのユーザーページには、私はそれが良いジャンプオフポイントであると思いなど

、それらのページにファイル名とリンクを表示します。

+0

ありがとう、これらは良いヒントです。 – quuxbazer