我有一个站点有2台服务器。第一台服务器有php和mysql,但第二台服务器只有php(是下载主机)。 我的网站是关于销售视频,因为第一台服务器受到限制(每月流量和空间),我需要在第二台服务器上传视频。所有视频必须具有动态链接,所有链接必须是一次性的。
示例:
User1购买了视频abc
,此用户已在下面链接下载:http://example.com/1enewk3hd
(指的是
http://example.com/files/video_abc.mp4
)
User2购买了视频abc
,此用户有以下链接下载:http://example.com/sddfse445
(指
http://example.com/files/video_abc.mp4
)
http://example.com/files/video_abc.mp4
我的问题
PHP和htaccess能够在2台服务器(没有mysql)上使用这个场景吗?
如果是,请指导我认识用户的最佳方式 然后第二个服务器访问下载文件(没有mysql)
在某些网站上,当用户登录服务器1时,可以从中下载 服务器2.如果从服务器1注销,则无法访问服务器2。 这是怎么回事?我们无法在服务器2上使用服务器1的会话!
答案 0 :(得分:1)
让第一台服务器进行身份验证。 在第一个服务器链接上创建,这些链接有效x分钟。使用哈希保护该链接以进行操作。
hash = sha256(两台服务器上的validuntil +共享密钥)
样品: https://server2/video_abc.mp4?validuntil=2017-08-07_160000&hash=ABC123EF5244
(在我的样本中,我也会使用mod_rewrite作为一个漂亮的网址)
现在使用生成的链接将客户端重定向到新服务器。 php脚本验证查询参数" validuntil"和"哈希"通过使用共享秘密。然后检查validuntil是否过期。
如果没有流式传输文件。不要将流式文件放入webroot。 如果您能够使用readfile,则可以使用x-sendfile header或您的网络服务器通过php脚本发送。