是否可以让用户访问 .pdf 文件 - 意味着允许他们下载它,例如通过单击按钮 - 而不会在过程中透露完整的 URL?
所以说我有一个文件www.mydomain.com/content/pdf/valuable_ebook.pdf
我想提供一个触发下载的链接,但只显示 valid_ebook.pdf ,而不是完整路径(可以共享,导致无偿下载)。
我确实考虑创建文件的副本并将其临时放置在特定于某个下载链接的位置。但我想知道是否有更简单的方法来做到这一点。
就查看而言,我正在考虑制作一个 iframe,它不会泄露完整的 URL……所以即使是“查看源”也不容易从上面确定完整的 URL。有什么办法可以做到这一点?
当然,可能有允许查看 pdf 的 java 或 flash 应用程序(说到这 - 有没有人有一个很好的例子?)。
这样的应用程序是否有可能具有不显示完整 URL 的下载功能?这将如何与浏览器通信?
或者是否可以通过 .htaccess 限制从上面对 URL 的访问,并放置一些服务器端逻辑以仅当您是注册/付费会员或其他人时才授予访问权限?
我只是想知道是否有任何远程可能性允许在不泄露文件位置的情况下下载/查看文件。
感谢您提供有关浏览器如何与服务器通信以开始下载的任何想法或见解...
PS:我意识到一旦你下载了一个数字项目,分享它很容易,但我试图设置至少一些障碍来过滤任何泄漏。
部分回答: 我实际上找到了一个很好的解决方案,可以在不泄露源 URL 的情况下下载文件(至少不是我知道的任何内容 - 所以大部分用户可能不会知道)。
// FILE www.mydomain.com/download.php
if($user_has_access_to_download == TRUE)
{
$file = 'content/pdf/valuable_ebook.pdf';
header('Content-Type: application/x-octet-stream');
//header('Content-type: application/pdf');
//wondering which is better?
header('Content-Disposition: attachment;filename="your_ebook.pdf"');
header("Content-Length: " . filesize($file));
// header("Connection: close");
readfile($file);
}
现在点击链接www.mydomain.com/download.php
将触发下载,而不是显示源文件。
现在我只需要找到有助于查看(而不是<iframe src="www.mydomain.com/content/pdf/valuable_ebook.pdf">
)的东西,因为这会带来 2 个问题:1. 可以轻松查看和共享源 URL 2. 浏览器提供“另存为”按钮 - 但我宁愿让它们通过我download.php
要跟踪等等...
可能我将不得不尝试找到某种 Java 应用程序来查看 pdf...