NamePros
Welcome, Guest! Ready to make a name for yourself in the domain business? We welcome both the hobbyist and professional domainer to join the discussion as part of the NamePros community.

Click here to create your profile to start earning reputation for posting, and trader ratings for buying & selling in our free e-marketplace. Build your trader rating with each successful sale. Our system has tracked over 100,000 sales and counting!
FAQ & TOS Register Search Today's Posts Mark Forums Read

Go Back   NamePros.com > Website Development Discussion Forums > Programming
Reload this Page Authenticating the download of a ZIP file [PHP]

Programming PHP, Perl, Ruby on Rails, AJAX, HTML, XHTML, CSS, JavaScript, MySQL and any other coding topics.

Advanced Search


Closed Thread
 
LinkBack Thread Tools
Old 06-26-2006, 05:05 PM THREAD STARTER               #1 (permalink)
NamePros Member
Join Date: Oct 2005
Posts: 38
Scott2503 is an unknown quantity at this point
 



Authenticating the download of a ZIP file [PHP]


I want to be able to authenticate the download of a ZIP with PHP. There will just be a $_SESSION variable and it will contain information on how to identify if the user is allowed to download the file. The actual authentication I am not worried about but I am more concerned about how I can protect the ZIP file like without anyone being able to just download it or spread the link to the download... even if it happens to be they just take a lucky guess and find the file, I want to block the downloading completely unless it is through the script.

How can I do this?
Scott2503 is offline  
Old 06-27-2006, 12:45 AM   #2 (permalink)
NamePros Expert
 
Peter's Avatar
Join Date: Nov 2003
Location: Scotland
Posts: 5,069
Peter has a reputation beyond reputePeter has a reputation beyond reputePeter has a reputation beyond reputePeter has a reputation beyond reputePeter has a reputation beyond reputePeter has a reputation beyond reputePeter has a reputation beyond reputePeter has a reputation beyond reputePeter has a reputation beyond reputePeter has a reputation beyond reputePeter has a reputation beyond repute
 


Child Abuse Save The Children Save The Children Help The Homeless - Holiday 2009 Help The Homeless - Holiday 2009 Help The Homeless - Holiday 2009 Help The Homeless - Holiday 2009
the best way is to have the zip file outside of the http directory and make the person log in before downloading. Pass them to a new script that you would create that checks they are logged in and if they are to include the file they wish to download.

The following is such an example, of course before this you would need to make the code that ensures the user is logged in.
????: NamePros.com http://www.namepros.com/programming/211043-authenticating-the-download-zip-file-php.html

PHP Code:
$file_path '/home/username/downloads/filename.zip';
????: NamePros.com http://www.namepros.com/showthread.php?t=211043

if(
is_file($file_path))
{
    
$file_mime mime_content_type($file_path);
    
$filename basename($file_path);
    
$filesize filesize($file_path);
    
    
header('Pragma: public');
    
header('Expires: 0');
    
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    
header('Cache-Control: private'false);
    
header('Content-Type: '$file_mime);
    
header('Content-Disposition: attachment; filename="'$filename .'"');
    
header('Content-Transfer-Encoding: binary');
    
header('Content-Length: ' $filesize);

    
readfile($file_path);

P.S. I never wrote this I got it from another forum (members name was maxymize)
Peter is offline  
Old 06-27-2006, 01:18 PM THREAD STARTER               #3 (permalink)
NamePros Member
Join Date: Oct 2005
Posts: 38
Scott2503 is an unknown quantity at this point
 



It worked.. thanks for posting it and thanks to maxymize for writing it.
Scott2503 is offline  
Closed Thread


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools


Liquid Web Smart Servers  
All times are GMT -7. The time now is 10:49 AM.

Managed Web Hosting by Liquid Web
Domain name forum recommended by Domaining.com Powered by: vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0 Ad Management plugin by RedTyger