最終的に、コンテンツの再配布を希望するユーザーに対してできることはあまりありません。URL を使い捨てにしても、顧客はそれを一度ダウンロードして、他の人のためにコピーすることができます。透かしを使用してコンテンツを顧客ごとに一意にすることを検討する可能性があることに対抗して、コピーが野生で見つかった場合に、少なくともどの顧客がコンテンツを再配布したかを知ることができます.
そうは言っても、尋ねられたあなたの質問は意味がありません。あなたは「ページへのアクセスを同時に 1 つの一意の URL (文字列) のみ許可する」と言いますが、URL (文字列) は Web ページにアクセスしません。ユーザー エージェントはアクセスします!
顧客がコンテンツをダウンロードするための URL を再配布するのを難しくし、再配布の意図しない試みを阻止するには、少なくとも 2 つの方法があります。.htaccess
どちらも、URL アクセス時に何らかのコード (スクリプトなど) を実行する必要があり、それ自体を設定する必要はありません。
URL を使い捨てにします。
一意の URL にアクセスするたびに、それぞれの一意の URL が以前に使用されたかどうかを示すデータベースを確認してください。以前に使用したことがない場合は、使用済みとマークします。以前に使用されていた場合は、リクエストを拒否してください。
プロ:簡単
短所:ダウンロードが壊れたり中断されたりするユーザーにとっては非常に迷惑です。彼らは再試行できません!
Cookie を使用して、URL が 1 つのブラウザーでのみ機能するようにします。
一意の URL にアクセスするたびに、ユーザー エージェントが特定の名前の Cookie を提供したかどうかを確認します。そうでない場合、これがこの URL への最初のアクセスである可能性があります。データベースをチェックして、この一意の URL に Cookie が既に設定されているかどうかを確認してください。はいの場合は、リクエストを拒否します。いいえの場合は、この Cookie の新しいランダム値を選択してデータベースに設定し、応答で返します。ユーザー エージェントがCookie を提示した場合は、データベースに対してその値をチェックして正しいことを確認し、正しい場合にのみリクエストを許可します。
長所: 1 人の顧客が 1 つのブラウザから URL に無制限にアクセスできます
短所: 賢明なユーザーは、ブラウザーから Cookie の値をコピーして公開し、他のユーザーがブラウザーで手動で設定して、保護スキームを妨害できるようにすることができます。