【问题标题】:How to restrict user from downloading or saving pdf file? [duplicate]如何限制用户下载或保存 pdf 文件? [复制]
【发布时间】:2013-02-02 18:14:29
【问题描述】:

可能重复:
Prevent PDF file from downloading and printing

在我当前的 symfony 项目中(在管理部分)我上传了 pdf 文件并使用 JavaScript 打开它,但我想限制用户下载或保存该 pdf?

那么我可以限制用户下载或保存 pdf 吗?

我的意思是用户只能查看该 pdf 的内容,我想禁用该 pdf 的所有浏览器的下载或保存选项。

pdf 文件只能从服务器打开。

动作文件代码:

echo "<span onclick=\"clickme('$pdf_name')\";>view</span>";

成功文件代码:

<script type="text/javascript">
   function clickme(file_name){
     window.open(file_name); 
   }   
</script>

谢谢你。

【问题讨论】:

  • 是的,可以在文件头中强制浏览器
  • 您的意思是您不想限制用户只下载和保存文件,但您想阻止这些操作?您如何“使用 JavaScript 打开它”?

标签: php javascript jquery symfony-1.4


【解决方案1】:

几乎不可能阻止人们下载任何东西,更不用说 PDF 了。恐怕您将不得不使用替代方案,例如仅显示文档的预览或使用水印。

【讨论】:

  • 是的,可以在文件头中强制浏览器
  • 我不认为 OP 试图阻止下载。措辞令人困惑,但我认为他们想强制下载文件而不是在浏览器(或附加组件)中查看
  • @JohnFx 阅读他添加的部分,尽管我可以理解为什么人们会误解他的意思。
【解决方案2】:

简单的事实是,如果用户正在查看 PDF 文件,他们已经将其下载到计算机上的临时目录中。

我经常看到这样的问题(主要是针对 GIF/JPEG),但您必须明白,防止这种情况的解决方案是完全不可能的,因为当您将 PDF 发送到用户的机器时,您已经输掉了游戏.

您所能期望的最好的结果就是让用户难以做到这一点,但只要付出足够的努力,就无法阻止他们。例如,如何防止他们截取图片,或者直接从浏览器缓存中抓取图片?

您可以通过设置security flags in the PDF file 本身来阻止不精通的用户。

【讨论】:

    【解决方案3】:

    是的,可以通过文件头中的强制浏览器

    它强制浏览器下载而不是通过Htaccess查看它,你也可以通过PHP来做

    <FilesMatch "\.(?i:pdf)$">
       ForceType application/octet-stream
       Header set Content-Disposition attachment
    </FilesMatch>
    

    请看下面的链接,希望对你有帮助

    link1

    link2

    link3

    【讨论】:

    • 请使链接文本更具描述性。此外,引用相关部分以将解决方案本身包含在您的答案中会很好。
    • 请不要提供link only answers
    • @mohammad mohsenipur ,问题正好相反。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2022-11-12
    • 2010-12-28
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多