home resources search newsjoinmembers: 6962
PHP Flash Java Ruby Windows Linux
php | Mon, 2008-07-14 20:12  tags:

<?php

/*********************************************/
/*     Desenvolvido por Jonis Maurin Cear�   */
/*           jonis@jonis.cjb.net             */
/*              ( LifeGuarD )                */
/*              UIN: 5719948                 */
/*                                           */
/*                                           */
/*    This class block download from         */
/*    other sites. You can add domains       */
/*    that are enabled to download your      */
/*    files. You can also share files        */
/*    that are in non-web folder.            */
/*                                           */
/*                                           */
/*               Questions?                  */
/*       e-mail: jonis@jonis.cjb.net         */
/*                                           */
/*                                           */
/*    This script is freeware, you are       */
/*    free to copy, but you should keep      */
/*    copyright note.                        */
/*                                           */
/*    Este script � freeware, voce pode      */
/*    usa-lo a vontade desde que mantenha    */
/*    os creditos no mesmo.                  */
/*                                           */
/*********************************************/
class D_Security {
    var 
$lista;
    var 
$path;
    function 
Dow_Security() {
        
$this->lista = array(); // Create empty host list
        
$this->path "./"// set default path do current folder
    
}
    function 
SetPath($path) {
        
$this->path $path;
    }
    function 
AddHost($host) {
        if (empty(
$host)) {
            return 
false;
        }
        
$this->lista[] = $host;
        return 
true;
    }
    function 
RemoveHost($host) {
        for (
$i=0;$i<count($this->lista);$i++) {
            if (
$this->lista[$i]==$host) {
                
$this->RemoveArrayItem($this->lista,$i);
            }
        }
    }
    function 
ListHosts() {
        return 
$this->lista;
    }
    function 
RemoveArrayItem(&$ar,$item)
    {
        
$ar array_merge(array_splice($ar,0,$item),array_splice($ar,1));
    }
    function 
DownloadFile($filename) {
        if (
$this->ChecaReferer() == true) {
            
$fil $this->$path.$filename;
            
header("Content-type: application/octet-stream");
            
header("Content-disposition: attachment; filename=".basename($fil));
            
header("Content-Transfer-Encoding: binary");
            
header("Content-Length: ".filesize("$fil"));
            
readfile($fil);
            return 
true;
        } else {
            return 
false;
        }
    }
    function 
ChecaReferer() {
        
$cont count($this->lista);
        for (
$x=0;$x<$cont;$x++) {
            if (
eregi($this->lista[$x],$_SERVER["HTTP_REFERER"])) {
                return 
true;
                break;
            }
        }
    }
}
// Example
$dow = new D_Security(); // Create new object
$dow->SetPath("./"); // set the folrder where the files are stored
$dow->AddHost("www.your-website.com"); // Add host to list
$dow->AddHost($_SERVER["HTTP_REFERER"]); // Add host to list
if (!$dow->DownloadFile("example.exe")) { // Download the file
    
echo "<br>Error: you are trying to download this file from unauthorized site<br>";
    echo 
"Try again from authorized host now: <a href=downloader.php>link</a>";
}

?>

Usage Example

<?php

$dow 
= new D_Security(); // Create new object
$dow->SetPath("./"); // set the folrder where the files are stored
$dow->AddHost("www.your-website.com"); // Add host to list
$dow->AddHost($_SERVER["HTTP_REFERER"]); // Add host to list
if (!$dow->DownloadFile("example.exe")) { // Download the file
    
echo "<br>Error: you are trying to download this file from unauthorized site<br>";
    echo 
"Try again from authorized host now: <a href=downloader.php>link</a>";
}

?>

printer-friendly version

php's picture
Pia Weathers - database systems engineer
Thoughtbox - So what did you think?



 
 
Content Management Systems PHP ASP.NET Adobe Flex Silverlight Wordpress Content Management Systems
 videos
 articles
 blogs
 comments
 downloads
sitemap

Newsletter

Get updates on Hiveminds services, articles and downloads by signing up for the newsletter.

Editor's choice

Some of the better articles, stories and tutorials found at Hiveminds.

Find more

Find more of Hiveminds articles, stories, tutorials and user comments by searching.




Picked links

Hand picked websites and articles from around the web that provide quality reading.

page top