投稿者 |
メッセージ |
|
< PHPプログラミング ~ ディレクトリのアクセス制御 |
|
時間:
金 4月 20, 2007 4:14 pm
|
|
|
|
【環 境】
・PHP version 4.42
・MySQL 5.0.26
【質 問】
例えば、「ID」、「パスワード」、「契約期間」という3つの顧客情報がデータベースにあると仮定してご質問させて下さい。
サーバーには、フォルダを作成し、zipファイルを格納してあります。
URLをクリックして、zipファイルをダウンロードする際、データベースの「契約期間」を参照し、契約期間内であればダウンロード可能、そうでないならばダウンロード不可の処理分岐を行いたいです。
単純に.htaccessではIDとパスワードのチェックしかできませんので、どうしたら良いのか困っております。
どなたか知恵をお貸し下さい。よろしくお願い致します。 |
|
|
|
|
|
|
|
時間:
日 4月 29, 2007 4:15 am
|
|
|
登録日: 2006年8月 19日
投稿記事: 19
|
|
PHPは.htaccessを使わずに単独でHTTP(BASIC)認証ができます.
一からやるとめんどくさいって場合はPEARを使うのもありです.
http://pear.php.net/manual/ja/package.authentication.auth-http.php
この方法でフレキシブルな認証が可能になります.
次にファイルの出力ですが,リダイレクト等を用い直接ファイルにアクセスさしていては,結局匿名でダウンロードできてしまいます.
ですから,認証後すぐに(同じプログラム内で)以下のようにダイレクトにファイルを出力するというのがいい可と思います.
Code: |
header('Content-type: application/zip'); //ブラウザにZIPファイルが送信されることを明示
header(sprintf('Content-Disposition: attachment; filename="%s"', $filename)); //ファイルの名前
readfile($real_file_path); //ファイルを標準出力へ出力
|
|
|
|
|
|
|
|
|
|
新規投稿: 不可 返信: 不可t 自分の記事の編集: 不可 自分の記事の削除: 不可 投票への参加: 不可
|
|