gpt4 book ai didi

php - 为 PDF 创建安全的文件托管服务器

转载 作者:可可西里 更新时间:2023-11-01 12:30:25 40 4
gpt4 key购买 nike

我正在开发一个允许客户登录并查看保存在服务器上的各种 PDF 的网站。这些 PDF 对客户端来说是唯一的,未登录的人不能访问。将文件放到服务器上应该不是问题,我只是不确定如何将它们提供给最终用户。

我已经使用来自 SQL 服务器 的数据而不是文件来实现这种事情,所以我不完全确定最有效的方法是什么。

该网站是在 LAMP 上运行的,而我在 PHP 方面的经验最少(但如果框架或其他语言可以使这更容易,我可以学习)。

我可能不知所措,但我通常是这样,所以任何输入都会很棒。

最佳答案

将文件放在 webroot 之外。然后使用 PHP 通过脚本传递文件。这样一来,没有人可以直接链接到该文件并绕过您的控制。 (当然要确保只有在验证用户有权检索该文件后才执行此操作的脚本)。

示例 PHP:

<?php
session_start();
if (!isset($_SESSION['authenticated'])) {
exit;
}
$file = '/path/to/file/outside/www/secret.pdf';

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
?>

关于php - 为 PDF 创建安全的文件托管服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10743850/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com