我的网站文件夹根目录下有一个uploads文件夹。它们包含mp3。现在只有在用户完成该特定mp3的PayPal付款后才能访问此文件夹,即一旦付款完成,下载链接应通过电子邮件发送给他们,他们应该只能从该链接下载。
我不需要任何代码,但我只是这些网站如何保护其优质内容的一般策略?
我正在使用PHP,但如果您对自己感觉更舒服,也可以在Asp.Net中提供策略。
答案 0 :(得分:3)
您不应该将MP3文件存储在可从外部访问的位置。相反,您提供给用户的链接应该是指向
页面(PHP或任何内容)的链接像
这样的东西download.php?mp3FileId=5435
download.php将检查用户是否已经过身份验证并已为文件5435付费,然后从受保护资源中读取此文件,并将其传输到HTTP响应,并设置适当的内容类型。
答案 1 :(得分:1)
发送指向.php的链接,而不是.mp3文件。如果用户可以使用PHP访问文件显示文件。
示例链接:
http://domain.com/download.php?file=music.mp3
脚本:
if($have_access) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Length: ' . filesize($file));
flush();
readfile($file);
}else{
die('You have no access.');
}
答案 2 :(得分:0)
你可以通过以下几种方式做到这一点。但是,您应该要求用户输入用户名/密码来访问文件。
最简单(也是最简单的)方式 - 受保护目录中的htaccess文件。请参阅此链接以获取教程:http://www.elated.com/articles/password-protecting-your-pages-with-htaccess/ 这对于保护网站的会员和贵宾区非常普遍。
最好的方法可能是让用户在您的网站上注册并选择他/她自己的用户名/密码,并在Paypal付款完成后激活该帐户。
然后我会采用上面提到的download.php?id=XXX
方法