[thelist] PHP Based file download system.

Tanner Burson tanner at younet.okstate.edu
Tue Jul 29 15:53:16 CDT 2003


*This message was transferred with a trial version of CommuniGate(tm) Pro*
Mike Migurski wrote:

>>The problem I'm seeing is that once I had the file off to the user, the
>>script will have stopped execution.  The reason behind the one use
>>restriction is that the system is for distribution of paid software.  We
>>have enough licenses for each user to have a SINGLE copy but that is all,
>>so we need to restrict them to one copy only.  I'm just at a loss as to
>>how to determin the download completed successfully.  Thanks again,
>>    
>>
>
>Not to nitpick, but the license is a totally separate issue from the
>technical considerations of the download (unless you're working for the
>RIAA, heh) - you can allow users to re-download copies without changing a
>word of the license, and you can't prevent them from duplicating the
>downloaded file no matter what you do on the server side.
>  
>
I can't really get into the specifics of it,  but suffice it to say that 
we are not allowed to give a user multiple copies of the software.  What 
they do after they get a copy is thier business, my main concern is just 
making sure that users get their copy.

>PHP has a number of methods to detect a user abort (see the URL I posted
>earlier in this thread) but realistically, you're playing catch-up with
>a fluctuating array of ways in which the download might fail without you
>knowing about it. Can I suggest allowing the user to download the file as
>many times as he or she needs to do so, with a password, or timer, or
>other mechanism to prevent the most obvious abuse? You don't want to piss
>off paying customers whose connection failed somehow.
>
After a few arguments with my managers today I finally got them to 
buckle and agree to essentially a timed download.  No matter how we go 
about it there are numerous methods of failure within this system simply 
because of the limitations of PHP/Apache/HTTP.  I'm just looking for the 
method that runs into as few of them as possible :)  If anyone has any 
suggestions other than just allowing a user to have the file available 
for X many minutes I'd love to hear them, Thanks All,

Tanner



More information about the thelist mailing list