我正在建立一个文件共享网站,我想问一个关于安全性的问题。我的系统像这些网站一样工作:FileFlyer、ShareFlare和LetItBit。
当用户想要下载一个文件时,他需要购买一个密钥,然后他才能“解锁”该文件并下载它。
问题:一个用户购买密钥并解锁文件后,他可以与所有人共享下载链接。
我的解决方案:当用户解锁文件时,我会将他的 IP、文件 ID 和生成的随机 ID 插入到 SQL 表中。下载链接将是一个 PHP 文件,下载 id 作为 GET 参数。在下载链接中,我将检查用户的 IP 是否匹配。如果是这样,我会放一个readfile
函数,然后开始下载。
我的问题:这足够安全吗?如果不是 - 为什么?还有一件事 - 我将如何拒绝访问文件路径?例如,如果文件路径是www.SITE.com/files/file.rar
,我不希望文件可以从那里访问。