0

こんにちはみんな私はここで愚かな質問をするのが嫌いなので、これがそうではないことを願っています、どうすれば誰かを私のダウンロードページに制限することができますか?それで、彼らがそのページにもう一度(何度も)アクセスして何かをダウンロードしようとすると、それは単にリダイレクトするか、できればダウンロードリンクをそのページに変更しlink 2ますLink 3。データベースなしで行うことは可能ですか?

例えば:

  1. 最初の訪問-メインリンク
  2. 2回目の訪問-リンク2
  3. 3回目の訪問-リンク3
  4. 4以上リンクなしにアクセスしてリダイレクト

多分クッキーで?私は本当にそれを行う方法がわかりません、そして私はそれをグーグルで検索しました、しかし私の言葉遣いはそこにあるべきではありません...

これやスクリプトの名前はありますか?

お時間をいただきありがとうございます。

4

2 に答える 2

1

A. 目的の目標を達成するための最良の方法はdatabaseです。2つの列を含むデータベーステーブルを作成します。

(1)Page Visitors IP
(2)The Last Download link used by the visitor to download
 file(contents) from your website.

B.COOKIEの助けを借り てあなたもあなたの目標を達成することができます 。

setcookie("Visitor IP", "Download Link used by the Visitor", $expire);

毎回、訪問者はWebサイトにアクセスし、訪問者のIPを取得して、$_COOKIE["Visitor IP"]設定されているかどうかを確認し、設定されている場合は既存のCookieを更新し、そうでない場合は新しいCookieを作成します。

ただし、Cookieを使用するのは便利な方法ではありません。

  Browser does NOT Support Cookies.
  Client  alter the Cookies value and use the previous link for download.

したがって、それを行う最も簡単でエレガントな方法は、を使用することです Database

UPD: *データベースのコーディング/セットアップはどのくらい簡単ですか?*

PHPでのデータベースの設定/接続は非常に簡単です。次のリンクを参照してください

コーディングも非常に簡単です。

-訪問者がダウンロードリンクをクリックするたびに、POSTまたはGETメソッドのいずれかによって訪問者IP($ fetched_IP)をフェッチします。また、訪問者がクリックしたリンク($ URL)を取得します。

- Query the database[例:データベースWHERE DB_IP = $ fetched_IP .....からDB_IP、LASTLINKを選択します。]

-RowCount > 0の場合、IP ($fetched_IP)がデータベースに存在します。がアクセスした最後のリンクを確認し$fetched_IPます。

-LASTLINK!=$URLの場合、彼にコンテンツのダウンロードを許可します$URL。データベーステーブルのLAST_LINK列を。で更新$URLします。

-rowcount == 0の場合、(New User)DB_IP = $ fetched_IP(Visitor IP)およびLAST_LINK =$URLを含む行を挿入します。

于 2013-03-24T06:35:58.233 に答える
0

簡単なのは、ハッシュテーブル(連想配列)を使用することでした。ファイルにアクセスするための基準を満たしている場合は、一意のURLをキーとして、ドキュメントパスを値として使用して、ハッシュテーブルにエントリを追加します。セッションに保存します。URLにアクセスすると、ページはURLがハッシュテーブルにあるかどうかを確認します。そうである場合は、ハッシュテーブルからURLを削除し、ファイルをストリーミングします。複数回の使用を許可したい場合は、カウントダウン変数をURLと一緒に保存できます。これにより、アクセスごとにデクリメントされ、カウントがゼロの場合にのみハッシュテーブルからURLが削除されます。

于 2013-03-24T09:00:04.477 に答える