0

人々が PDF をダウンロードする回数を制限する必要があります (500 まで)。理想的には、クリック数を 500 までカウントしてから、リンクを削除します。また、各ユーザーが複数回クリックするのを止める必要があることに気付きました。基本的に、最初の 500 人がファイルをダウンロードして終了することを許可するよう求められています。PHP または JavaScript が推奨されます (wordpress サイトにあります)。

よろしく

リッチ

4

3 に答える 3

5

リンクをクリックできる回数を制限するのではなく、特定のリンクがPDFファイルを返す回数を制限する必要があります。

つまり、リンクは、要求されたリソース(PDF)を直接指しているのではなく、ファイルが500回を超えてダウンロードされていないことを表明できるPHPファイルを指している必要があります。

wwwディレクトリの外にあるファイルをブラウザに出力する方法の例を次に示します。

于 2012-11-21T14:33:18.797 に答える
0

アクセスを制御し、許可されている場合はPDFを提供するPHPスクリプトにリンクします(例:readfile()。を使用し$_SESSIONて、1人のユーザーがダウンロードした回数を管理します。ダウンロード後に値を更新します。

データベーステーブルまたはその他のデータソースを使用して合計ダウンロード数をカウントし、500に達したときにPDFへのすべてのアクセスを拒否できるようにします。

于 2012-11-21T14:36:35.857 に答える
0

Sherlock のソリューションを拡張するには、PDF を PHP ファイルの背後に隠します。非表示とは、直接アクセスできない場所に配置することを意味します。「www ルート」から移動するか、.htaccess を使用してファイルに直接アクセスできないようにすることを検討してください。ほとんどの上級ユーザーは、ドキュメントが推測可能で公開されている場合、PDF にアクセスする方法を理解します。

PHP は単純に次のことを行う必要があります。

  • ドキュメントのダウンロード回数が 500 回未満かどうか、またはユーザーの IP がドキュメントへの「ロック解除されたアクセス」を持っているかどうかを確認します (ユーザーがドキュメントを再度ダウンロードできる「ウィンドウ」を許可したい場合がopenあります。実際に保存したいがsave、リーダーからディスクに保存する方法がわからない場合) - そうでない場合はエラーを表示します
  • このドキュメントのユーザーの IP アドレスを保存します
  • ファイルの種類に適したヘッダーを送信します。header('Content-type: application/pdf');
  • ファイル名を送信:header('Content-Disposition: attachment; filename="the document.pdf"');
  • ファイルの内容を送信します。readfile($pathToPDF);
于 2012-11-21T14:40:59.430 に答える