不要用实际地址提供下载,做成类似download.aspx?id=xxxx的样子,
用程序做判断,限制一下,如果同ip短时间内多次链接就拒绝,否则用 Response.OutputStream.Write把文件流写到浏览器提供下载

解决方案 »

  1.   

    /download/xjar.rar
    换成
    /download/xjar做一些判断,比如楼上说的IP,然后在服务器上获得xjar.rar这个文件的url,输出下载
      

  2.   

    这跟下载没什么关系吧..就算你不下载 有1W个人并发访问你的网站 就仅仅请求图片什么的 你也死了..你屏蔽不了的..而且这1W人 都是来自不同的IP..你无法判断真假.实际上 这些都是真实的.所以 我也不知道了.,
      

  3.   


    有源码可以借鉴?我不想在每个资源连接后面加个参数。比如http://xxx.com//download/xjar,http://xxx.com//download/test如此
    而不想http://xxx.com/download.aspx?id=xxx这样.这种方法甚至还要去动数据库。
      

  4.   


    有源码可以借鉴?我不想在每个资源连接后面加个参数。比如http://xxx.com//download/xjar,http://xxx.com//download/test如此
    而不想http://xxx.com/download.aspx?id=xxx这样.这种方法甚至还要去动数据库。
    你的文件都是什么类型的?至少应该能罗列出来类型吧 
    若可以的话就直接用过滤器 在过滤器里判断请求文件类型 从而根据下载限制判断是否拒绝请求还是响应请求 
    过滤器可以参考我以前的文章http://www.oschina.net/question/165511_24543
      

  5.   


    你说的
    http://xxx.com//download/xjar

    http://xxx.com/download.aspx?id=xxx
    是一个意思啊。前者把url重写了而已。 实质都是输出文件之前,进行一次判断请求看是否合法
    你不想动数据库,那就换其他办法,只要把文件"提取码"和文件真实url对应上就行了