wordpress 网站客户端下载/文件管理软件

nzk0hqpo  于 5个月前  发布在  WordPress
关注(0)|答案(2)|浏览(76)

我有一个软件的不同版本,我想分发给客户(B2B)。例如,一个可能是基本版本,一个扩展版本和一个试用版。这些将是单独的zip文件。它们也是版本。
这些文件可供客户试用或在他们注册许可证后使用,不同的许可证将给予他们访问“软件”的不同变体的权限(它不完全是软件,它只是一个文件,但为了这个问题,这并不重要)。
将这些文件放在Web服务器上并允许受密码保护的HTTP访问并不理想,因为它不允许足够细粒度的权限模型,例如,我可能希望给予一个客户端对更新或测试版的访问权限,而不是另一个客户端,我最终会为每个版本的每个客户端创建一个单独的文件夹,这非常混乱,意味着复制大量文件。
我想我正在寻找的是一些简单的,基于网络的“下载门户”软件,在那里我可以为每个客户创建一个网络帐户。理想情况下,这将支持“发布渠道”或类似的概念,然后我可以将每个客户分配到一个发布渠道,以及除此之外的特定文件,引导哪个客户可以访问哪些文件。我使用的是一个自托管的WordPress的主网站,所以我想这将是伟大的有这样一个门户网站上的子-像download.company.com这样的域名,理想情况下它会使用WordPress身份验证机制。
我不想这样一个软件程序自己虽然,我也没有找到一个现有的WP插件,会做这样的事情。我提到WP,但这不是一个WP问题,我正在寻找任何(好)的解决方案-如果它能够使用WP认证机制,这将只是一个非常有用的功能。
是否存在这样的解决方案?我如何才能最好地解决这个问题?似乎任何向客户分发文件和/或软件的B2B公司都会遇到这个问题。他们都开发自己的解决方案吗?
我不是100%确定这是否适合StackOverflow,超级用户,WebApps或网站管理员网站,如果它不适合这里,我很高兴被引导到最合适的地方。

egdjgwm8

egdjgwm81#

你可以这样做:

  • 创建一个重定向脚本页面,将文件ID(或文件名或其他)作为参数,例如download.php?id=2432或POST值
  • 在该页面中,您可以检查用户是否已登录,以及用户是否具有下载文件权限,例如,您可以有一个表,其中有一行包含user_id和file_id,如果该行存在,则用户可以下载文件
  • 下载使用php隐藏的真实的网址
// your validation
if($isUserValid)
{
    $path = $fileName;
    $size = filesize($path);
    $fp = fopen($path, "rb");
    $content = fread($fp, $size);
    fclose($fp);

    header("Content-length: ".$size);
    header("Content-type: application/octet-stream");
    header("Content-disposition: attachment; filename="YOURFILEPATH" );
    echo $content;
}
exit();

字符串

yzckvree

yzckvree2#

我个人最喜欢的,愚蠢的简单和免费的是XODA https://sourceforge.net/projects/xoda/files/xoda/这是一个愚蠢的简单的“CMS”文档管理器,我们已经使用多年。我们的订阅者只有信息通过FTP发布到每个用户的文件夹,他们只需登录并获取它们。
如果您正在寻找“所有”去与OwnCloud或NextCloud

相关问题