Хороший способ - использовать комбинацию .htaccess и key
.htaccess
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)/([a-z0-9]+/i)$ serve.php?file=$2&key=$1 [NC,L]
После того, как кто-то купит ваш файл, установите ключ и войдите в учетную запись клиента в MySQL, отправив ему ссылку для загрузки по электронной почте (http://yoursite.com/key1234567/your.pdf
), отметив, что он может загрузить только один раз
человек нажимает скачать
затем с serve.php
Вы проверяете ключ в учетной записи там ip в там и отмечаете как загруженный
sql check on ip and key match
if($allowedToDownload===true){
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('hidDen_ArEa/'.basename($_REQUEST['file']));
}