我用PHP建了个站,下载文件需要扣除账号里的费用,现在碰到一个棘手问题。
用迅雷进行第一次下载以后,会员把迅雷里的地址发给其他人,其他人也可以下载,付费下载变成免费了。有没有达人开发过类似系统,有什么好的解决方法?

解决方案 »

  1.   

    会员提交一个URL,希望下载,迅雷把URL和USER入库。其他人请求同一个URL,迅雷查到URL已经被某个USER会员用过,于是决定免费给你提供下载,立即开始返回资源。
      

  2.   

    都没听明白我的意思。。不管怎么验证用户是否下载过,只要下载过一次,文件的实际地址已经被获取。举个例子,用户通过127.0.0.1/down.php文件下载127.0.0.1/A.RAR文件,第一次可以通过down.php进行验证,验证成功跳转到实际地址127.0.0.1/A.rar开始下载,这时候127.0.0.1/A.rar地址已经暴露,用户可以跳过down.php进行下载。怎么解决这个问题。
      

  3.   

    你都把真实地址给了用户,当然就无所谓积分下载了你需要始终都通过php完成下载,你搜索 php断点续传 就能得到解决方案
      

  4.   

    不要跳转到真实的文件地址啊,,用readfile输出文件内容,,注意输出前发送相关的报头~参考地址:http://cn2.php.net/readfile
      

  5.   


    楼主不知道Php也可以发文件吗- -。。 PHP除了动态执行以外和一个html或者一个tar.gz文件都一样的,它也可以header('Content-Type:xxx');然后把文件读出来发给你。 自然就可以在这个php里控制你的用户下载请求了。