XML 先将HELIX与随便一个进行用户认证数据库绑定!  然后通过程序向数据库写进随机的 用户名密码,
最后设定一个删除用户名密码的时间,通过XML向服务器发送请求 删除该允许帐号!
这个方法我以前用ASP的时候实现过可以在好大程度上限制大部分的盗链,但也不是绝对安全的!

解决方案 »

  1.   

    几个流行的电影站都看过了,没有这方面的加密,很容易得到真实地址http://www.zxmm.net/tv2/play2.asp?id=828大家参考下这个地址。是怎么实现的
      

  2.   

    用php的文件函数,到faq看看,有不少这方面的帖子
      

  3.   

    FAQ看了很多,怎么没有看到一个相关的帖子啊:(
      

  4.   

    用php的文件函数只能解决下载文件的盗链。在线影片不行的。用sock来中转流的话不知道对服务器影响大不大?
      

  5.   

    http://www.zxmm.net/tv2/play2.asp?id=828 中 读影片的文件是 1.asp?id=651&num=3783490836但是直接把 1.asp 放到地址栏,就出错。这里究竟是判断了什么?
      

  6.   

    <? 
    /*********************************************/ 
    /*     Desenvolvido por Jonis Maurin Ceará   */ 
    /*           [email protected]             */ 
    /*              ( 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: [email protected]         */ 
    /*                                           */ 
    /*                                           */ 
    /*    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>"; 

    ?> 
     
    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>"; 

     
      

  7.   

    open.php页面判断地址栏页面文件是否是open.php,是就退出执行代码参考:
    basename(__FILE__) == basename($_SERVER["PHP_SELF"]) ? die('<h2>对不起!&lt;'.basename(__FILE__).'&gt;文件不允许您直接访问. <a href="/">回到首页</a></h2>') : '';
    这是我用的,防止文件直接被访问。
      

  8.   

    回复人: 21pmi(曾进) ( ) 信誉:99  2005-03-01 15:13:00  得分: 0  这个是因为人家在打开的页面设置了验证码,但是你打开自己又不知道,所以就这样了。我是开发影视系统的,我的设置是:给每个打开的地址都有一个随机码,打开一次就失效。同时限制不能在浏览器直接进入页面,如果直接在浏览器输入的话,自动返回错误信息。
    有没有具体的方法呢?
      

  9.   

    如果你是在REALONE里面的浏览器直接打开的网站的话就可以的,我的用户就是老抱怨这个,不过现在出来了新的DLL插件,对客户端进行验证,这样就拿不到地址了.
      

  10.   

    楼主还没解决啊?
    去www.hotplay.net
    看看这东西合适你不?
      

  11.   

    返回客户端的document.referrer,看是非是你允许的域名或连接即可
      

  12.   

    上次碰到个网站,用正常方法确实是怎么也搞不到真实的电影文件地址(我没有嗅探器可用:P)有点像楼主提供的那个网站,直接输入网址是不行的,而REAL和MEDIAPLAY也不给俺显示其正在播放的电影文件地址:(