会員だけに、ファイル公開する(ダウンロードさせる)方法ありますか?


(例)
愛子には A.pdf だけを許可。
郁子、伊代には I.pdf
歌子には A.pdf, I.pdf, U.pdf を許可、等にしたいのです。

ファイルは全て同一ディレクトリに置きます。
パスワード付きファイルにはしません。

メールで、
--------
下記からダウンロードしてください。
http://exsample.com/dl/A.pdf
--------
という内容を送ります。

アクセス権限を設定し、ユーザにパスワード入力してもらうようなCGIになるのではないかと思いますが、そのようなPerl or PHPシステムありますでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/11/10 13:28:26
  • 終了:--

回答(3件)

id:gazellex No.1

gazellex回答回数22ベストアンサー獲得回数02005/11/10 15:47:09

ポイント10pt

http://www.hatena.ne.jp/1131596906#

人力検索はてな - 会員だけに、ファイル公開する(ダウンロードさせる)方法ありますか? (例) 愛子には A.pdf だけを許可。 郁子、伊代には I.pdf 歌子には A.pdf, I.pdf, U.pdf を許可、等に..

URLはダミーです。

質問の趣旨とは違うのでポイントは不要です。

パスワードを設定する必要は無いのではないでしょうか?

ディレクトリにindex.htmlを入れて他のファイルが表示されないように設定しておけば問題ないです。

後はファイル名をランダム英数文字8桁ぐらいのものにしておけば、あとはメールに書く内容を変えればOKです。


愛子さんには

http://exsample.com/dl/A.pdf

郁子さんと伊代さんには

http://exsample.com/dl/I.pdf

歌子さんには

http://exsample.com/dl/A.pdf

http://exsample.com/dl/I.pdf

http://exsample.com/dl/U.pdf

とすればいいのではないですか?


もちろんhttp://exsample.com/dl/自体には会員のみのパスワードをかける必要があると思いますが。

id:radio3

ご提案ありがとうございます!

ただ、ファイル名がわかれば(誰かが漏らせば)、誰でもアクセス可能となってしまう点が難です。

パスワードも知られたら誰でもアクセス状態ですが、調べれば、誰が(どのユーザ名が)アクセスしたかわかると思いますので。

2005/11/10 16:16:58
id:PaulYamamoto No.2

Paul回答回数113ベストアンサー獲得回数22005/11/10 15:53:49

ポイント100pt

>http://exsample.com/dl/A.pdf

じゃなくてhttp://exsample.com/dl.php?file=A.pdf

とかにして、

dl.phpでは、

<?php

//

// なんかの認証処理

//

header(’Content-Type application/pdf’);

//上のHeaderはimageなどで変わる。


//認証失敗の場合上記headerは出力せずに、

//echo(’許可がありません!’);とかする。


readfile(’ダウンロードするファイルのパス’);

?>


でいけると思います。

id:esecua No.3

esecua回答回数510ベストアンサー獲得回数102005/11/10 19:42:07

ポイント10pt

リンク先はKentWebさんのBASIC認証型認証です。パスワードやIDの発行を自動化し、ディレクトリごとブロックします。


問題はIDごとにダウンロードさせるファイルを制御する点です。たとえばniftyさんは基本認証を使用し会員ページを作成しています。そのniftyの会員メールにログインするとID毎にメールボックスの内容の表示を変えます。(当たり前ですが)どのように各IDを認識しているのかは分かりませんがDBと環境変数を使用しID毎の設定(ルール)を認識しているのではないのでしょうか。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません