There is no way to do it, with http at least. You can control every byte you send, but you know nothing about what the client received.
Moreover it seems not to make sense to implement such protection (for some paid contents I guess). You cannot (technically) forbid users to redistibute downloaded files...
set the system up with a db:
table download:
email (downloaders email address)
filename
flag
Then ask users to input their email addresses for download.
if email address is already in db & flag is 1, do not let them download and if not, let them download and input their address in db, alongwith filename of file they are dloading and set flag to 1.
if you do not want to go with email addresses, use IPs, but it's less reliable.
I put the flag column in the table up there in case you need to let someone who has already downlaoded it once to download again. you just need to flip the flag value to zero.
Bookmarks