我对这方面不熟悉,请教一下大家。
问题很简单,假如有人直接访问www.xxx.com/file/abc.rar,那么请问此种情况下如何防止盗链?对此PHP好像无能为力吧?

解决方案 »

  1.   

    这种可以在Apache 里设置 SetEnvIfNoCase Referer根据来源判断是否允许。不过,伪造来源也是很容易的
      

  2.   

    尽量让你想放盗链的资源这样访问$resource.php?id=332,php文件映射资源
      

  3.   

    今天做了一个图片防盗链。
    用file_get_contents获取HTTP_REFERER所指向的网页,从该网页中寻找预设的关键词(如首页的链接)。如果有,则正确显示;无,则错误显示。不过,由于需要访问referer页面,所以稳定性待改善。
      

  4.   

    http://topic.csdn.net/u/20100128/16/86acfabf-f5cc-47a3-a3db-98e3a8b4b381.html
      

  5.   

    7楼提供的网址不错,我感觉url重写比较好用!
      

  6.   


    <?php
    $ref = $_SERVER['HTTP_REFERER'];
    if ($ref == '')
    echo '对不起,不允许从地址栏访问!';
    else
    {
    $url = parse_url($ref);
    if ($url[host] != '124.0.0.1' && $url[host] != 'localhost')
    {
    echo '不允许盗链!';
    exit();
    }
    }
    ?>