我在我的网站文件夹根目录下有一个uploads文件夹。他们包含mp3。现在这个文件夹只能在用户完成特定mp3的PayPal付款后才能访问,即一旦付款完成,下载链接应通过电子邮件发送给他们,他们应该只能从该链接下载。您通常如何保护您的网站的高级部分?
我不需要额外的代码,但我只是一个这样的网站如何保护他们的优质内容的一般策略?
我正在使用PHP,但如果您对此感觉更舒适,您也可以在Asp.Net中提供策略。
我在我的网站文件夹根目录下有一个uploads文件夹。他们包含mp3。现在这个文件夹只能在用户完成特定mp3的PayPal付款后才能访问,即一旦付款完成,下载链接应通过电子邮件发送给他们,他们应该只能从该链接下载。您通常如何保护您的网站的高级部分?
我不需要额外的代码,但我只是一个这样的网站如何保护他们的优质内容的一般策略?
我正在使用PHP,但如果您对此感觉更舒适,您也可以在Asp.Net中提供策略。
你应该只不是MP3文件存储在从外部访问的位置。相反,你给用户的链接应该是一个页面(PHP或任何东西)的链接,这将
喜欢的东西
download.php?mp3FileId=5435
的的download.php将检查用户是否被验证,并已支付了文件5435,然后从受保护的资源读取该文件,并将其流式传输到HTTP响应,并设置适当的内容类型。
发送链接到.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.');
}
您可以通过多种方式来做到这一点。但是,您选择哪个用户应该被要求输入用户名/密码才能访问这些文件。
最简单(也是最简单)的方式 - 保护目录中的htaccess文件。看到这个链接的教程:http://www.elated.com/articles/password-protecting-your-pages-with-htaccess/ 这是非常普遍的保护网站的会员和VIP区域。
最好的方法可能是让用户在您的网站上注册并选择他/她自己的用户名/密码,并在贝宝付款完成时激活帐户。
然后我会去上面的
+1谢谢。 htaccess的一部分真的很有帮助。 – Jaggu
可能重复提出的
download.php?id=XXX
方法[如何使用Apache/PHP保护目录从没有登录的用户(http://stackoverflow.com/questions/ 7902417 /如何使用apache-php-to-protect-directories-from-users-that-arent-logged-in)或[如何从公开动态密码保护文件(图像,视频,zip)并允许访问仅对会员?](http://stackoverflow.com/q/2416736/367456) – hakre