2017-02-01 4 views
0

私は紹介プログラムを実装し、報酬として人と電子ブックを与えています。データベースを使用せずにeブックを24日間利用できるようにする方法はありますか?私はユーザーに電子ブックのPDFを共有させたくありません。これを防ぐために私は何を置くことができますか?私もrobots.txtを更新する必要がありますか?ワンクリック電子ブック

私はusernameOfUser_deadlineTimestamp.pdfとしてノードJSとJavaScript

+1

pdfを24日間制限するためにデータベースとは何が関係していますか?誰かがpdfにアクセスすると、ダウンロードして、いつでも誰とでも共有することができます。 –

+0

これを制限するためにできることがありますか? – Jasmine

+0

ユーザーのブラウザがPDFをダウンロードすると、PDFをコンピュータに保存できなくなります。 PDFの代わりにHTML Webページを提供することができます。これは、単に「保存」するのが難しい場合があります(たとえば、ローカルファイルなどからロードされている場合にJSを埋め込むなど) – qxz

答えて

0

保存ファイルを使用しています。ユーザーがファイルを要求すると、単にフォルダからファイル名を取り出し、名前がusernameOfUserで始まるファイルを探します。現在のタイムスタンプを取得し、ファイル名から取得するdeadlineTimestampと比較してください。現在のタイムスタンプがdeadlineTimestamp未満の場合は、ファイルelse showエラーメッセージを表示します。 fsを使用してファイル名などを決定します。

+0

ユーザーは引き続き有効期限を迂回してファイルを保存します。 – qxz

+0

ブラウザで閲覧できるものはすべて保存して共有できます。私は24日間のアクセスを制限する方法を提供しました。 – kawadhiya21

0

適切な解決策は、電子書籍を要求しているユーザー(どのユーザー)を知るために何らかの種類の認証を実装し、次に電子ブックを提供するかどうかを決める許可を与えることです24日の期間が終了していない場合)。

これらの情報は、サーバー上でどのような形式でも利用可能で、フォームに関係なく、既にデータベースです。

クローラが有効なユーザーとして認証できないため、このような状況ではrobots.txtは役に立たないため、誰もリソースにアクセスできません。

データベースレスのソリューションは、すべてのユーザーにかなり長いリンクを生成し、そのリンクに必要なすべての情報を暗号化することです。 http://example.com/gvdcwt5f23ydvuztb2ftyuzfydy826ngnuy2u2gfzgnyg2y6gn2gyf6g2f2uynfuのようなリンクには、ユーザー名(または他の識別情報)と有効期限が含まれています。したがって、このリンクが要求されるたびに、サーバーはそれを解読し、要求された電子ブックを提供します。

電子書籍をhttp://example.com/ebook.pdfとして利用できないため、robots.txtはまだ役に立たず、これらの長いリンクについては言及されません。ロボットは作業リンクを推測してサーバーをスキャンすることはありません。

ユーザーがダウンロードしたときのpdfの処理に関して、これ以上の制御はありません。あなたは優しいユーザーによる共有を防ぐためにpdf自体に著作権表示を置くことができますが、pdfファイルの内容を保護する方法はありません。あなたはそれを暗号化することができますが、ユーザがクレデンシャルとそれを共有することができれば、不可視の情報が格納されているすべてのユーザのpdfを生成することができます。そのような「保護」の実施によって費やされる時間の価値は、おそらく価値がありません。

関連する問題