2017-06-07 58 views

回答

1

也许你可以试试这些:在散列格式

  1. 商店中的程序名,所以不是www.mywebsite.com/programs/paint.exe也许在这样的www.mywebsite.com/programs/ca63ff966ff272da14e4fc2e73fcd399更好。您至少已将付费程序存储在表中,并且该表应提供其哈希格式名称列。
  2. www.mywebsite.com/programs/paint.exe此网址应该且只能由经过身份验证的用户访问。如果它已经通过身份验证的用户,则检查此用户的购买历史记录,如果他/她曾购买此paint.exe计划,如果没有购买记录,则必须将他/她重定向到您的付款页面。
+0

谢谢你,谢谢D.R –

0

除了使用散列文件名作为彼得提到的,你可以使用PHP来认证后提供文件。

创建一个htaccess重写来发送文件的任何请求直接到一个PHP脚本。在php脚本中,执行一些验证(I.E.有用户登录,或让他们使用设置会话变量的安全链接等)。然后,如果用户认证成功,使用PHP返回使用http标头的文件。

header('Content-Type: application/x-msdownload'); // Set this to a .exe 
header('Content-Disposition: attachment; filename="paint.exe"'); // Set the filename to download. 
$downloadFile = file_get_contents('programs/hashedpaintexename.exe'); 
echo $downloadFile; 

注意:您将要确保你应该使用哈希文件名,你会希望你的htaccess处理这些散列的文件。

另一种选择是,如果你已经控制了服务器,那么你可以让PHP从网站目录之外加载文件,而不是使用htaccess重写。例如,如果您的网站目录是/var/www/mywebsite,请让php从/whatever/path/you/want加载可执行文件,前提是php具有对目录的读取权限。