К организовать скачивание в интернет-магазине так, чтобы пользователь, купивший цифровой товар, не смог поделиться ссылкой на товар с кем-либо. То есть скачать товар мог только тот, кто его купил.
Затея бессмысленная. Зачем кому-то обязательно делиться ссылкой, если он может поделиться самим продуктом? IP - не надёжно, MAC - недоступен, за исключением, насколько мне известно, того случая, когда клиент находится на одном Ethernet-сегменте, что и сервер. Cookie, localStorage, etc. - можно рассматривать только с учетом того, что покупатель в этом ничего не смыслит. Если уж и закрывать ссылку, то только через авторизацию пользователя: залогинился, в личном кабинете твоя ссылка. Но опять же, возвращаемся к первому замечанию.
Генерировать индивидуальную ссылку для пользователя? Но как сказали выше, смысла в этом нет. Можно попробовать защитить сам продукт от копирования.
https://habrahabr.ru/post/151795/ - отдача больших файлов. На php проверяем право на скачку а дальше выбираем метод отдачи файла из статьи.