如果是apache可以使用.htaccess规则来限制

解决方案 »

  1.   

    如果是在不能配置apache的前提下呢?
    如果别人知道真实下载地址 如何通过程序防?
    如果不能防 把rar直接写入 mysql 可行吗?
      

  2.   

    那就只好把文件藏起来了,下载时候用header来输出
    或者文件用个什么算法加密了
    写进数据库里也是可以的,VBB的附件就这样
      

  3.   

    把文件附件写入数据库不是一个好方法。
    因为谁也无法保证大容量的文件写入数据库的longtext或者longblob会否让数据库crash掉,此外,如果文件系统是fat32,那么一个文件最大不能超过8G,一个数据库中,如果出现几十个几百兆的附件,那么数据库会怎样?可想而知。
    为什么要用文件系统呢?因为文件系统是最快的存取方式(当然不能和内存比),比数据库快,而且文件系统是非常稳定的。
      

  4.   

    参考PHP安全下载文章http://dev.csdn.net/article/41/41103.shtm如果你在window环境用第一种方法如果你在非window环境下用第二种方法
    把$file_dir = "http://127.0.0.1" 哈哈,没人能下载吧.(前提是自己配置服务器)