我想用PHP构建电子商务网站,我将使用omnipay库进行支付。问题是如果用户可以在他的浏览器中写入URL和付费程序将下载.....我搜索了如何阻止用户下载像RewriteEngine文件,但如果用户在这种情况下付费,我怎么能让文件下载?我怎样才能阻止用户下载支付程序与付出
0
A
回答
1
也许你可以试试这些:在散列格式
- 商店中的程序名,所以不是
www.mywebsite.com/programs/paint.exe
也许在这样的www.mywebsite.com/programs/ca63ff966ff272da14e4fc2e73fcd399
更好。您至少已将付费程序存储在表中,并且该表应提供其哈希格式名称列。 www.mywebsite.com/programs/paint.exe
此网址应该且只能由经过身份验证的用户访问。如果它已经通过身份验证的用户,则检查此用户的购买历史记录,如果他/她曾购买此paint.exe
计划,如果没有购买记录,则必须将他/她重定向到您的付款页面。
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具有对目录的读取权限。
相关问题
- 1. 阻止支付宝付款的国家
- 2. 我怎样才能阻止我的python程序崩溃
- 3. 我怎样才能阻止网站?
- 4. 我怎样才能阻止我的AsyncTask线程。或停止chatmanager
- 5. 我怎样才能下载使用C++
- 6. ¿我怎样才能阻止我的数字序列增长?
- 7. Tab键给出麻烦。我怎样才能阻止这
- 8. 下载前支付宝功能
- 9. 我怎样才能阻止线程中的块方法DatagramSocket.receive()
- 10. 电子商务支付 - 我如何支付用户?
- 11. PayPal支付:让我使用PayPal支付付款成功
- 12. PayPal API是否支持用户在我的应用上支付用户付款?
- 13. svnserve是允许匿名用户。我怎样才能阻止他们?
- 14. 支付过程
- 15. 我怎样才能阻止这从循环?
- 16. jquery:我怎样才能阻止appendTo即刻发生?
- 17. 我怎样才能阻止访客按国家?(Htaccess)
- 18. 我怎样才能阻止这个细胞的倍增高度?
- 19. 我怎样才能阻止剂达到其他的NetLogo
- 20. 我怎样才能阻止设计(Ruby on Rails的)网址ADRESS
- 21. 我怎样才能阻止双跳的人物?
- 22. NGINX unescapes%2f转正斜线。我怎样才能阻止它?
- 23. 用PayPal支付用户
- 24. 我怎样才能访问用户?
- 25. 我怎样才能由用户
- 26. 我怎样才能得到用户
- 27. IOS应用程序 - 支付应用程序购买付款后视频和下载视频是否需要?
- 28. 支付宝账户?
- 29. 用户注册与支付选项
- 30. 是否支付交付应用程序的应用程序内支付也受70/30分割?
谢谢你,谢谢D.R –