【问题标题】:How to protect a PDF with a username and password?如何使用用户名和密码保护 PDF?
【发布时间】:2016-10-03 06:57:41
【问题描述】:

我认为这有点复杂,可能是不可能的,但如果知道有什么方法可以做到这一点会很有帮助...

假设我有一个私人教学论坛,每个用户(付费帐户)都有一个用户名和一个加密密码,并且有一个下载部分,只有用户可以下载 pdf 文件。

问题来了: 下载文件时,只有与用户自己的用户名和密码匹配的用户名和密码/密码才会受到保护……换句话说,密码是从用户的帐户中获取并添加到pdf文件中的,然后为该文件生成一个下载链接。

这样,将pdf文件复制给其他人会迫使“复制者”给出他的用户名和密码......

EDIT:密码用于打开文件而不是编辑或打印,我希望用户能够突出显示文本并添加自己的注释

【问题讨论】:

  • 谢谢,但这与我要问的问题甚至不接近 =) 我已经编辑了问题...
  • 安全选项之一 需要密码才能打开文档
  • 如果我有一个完整的解决方案,我会给出答案而不是评论。该评论应该为您指明一个有用的方向。阅读文档,然后思考一下。 Adobe 提供了一种密码保护文档的方法,因此这显然不是不可能的。 Adobe 有一个名称,这样可以帮助您使用搜索引擎来查找程序化实现。此外,Adobe 软件通常可以通过编程方式驱动,因此您可以使用该软件产品并编写一个运行该软件的脚本,从而以这种方式应用密码保护。
  • 我的错,非常感谢。

标签: php pdf password-protection copy-protection


【解决方案1】:

PDF 无法实现您想要的。

有两种加密PDF文档的方法:

  1. 使用密码。您可以定义两个密码:用户密码所有者密码。使用所有者密码加密的文档可以被每个收到该文档的人打开。所有者密码用于定义权限(例如:文档可以查看,但不能打印)。在不知道所有者密码的情况下删除限制相当容易。当 Adob​​e 仍然拥有 PDF 参考的版权时,它曾经是非法的,但由于 PDF 现在是 ISO 标准,因此是否允许应用规范删除所有者密码并不完全清楚。如果使用用户密码加密文档,则知道用户密码的每个人都可以打开该文件。没有用户名,只有用户密码。
  2. 使用证书。您可以要求您的用户创建一个公钥/私钥对。然后,您可以要求他们将他们的私钥保密,并要求他们给您他们的公钥。当您使用他们的公共证书加密您的 PDF 时,您可以使用他们的公共密钥加密文档。从那一刻起,只有相应私钥的所有者才能读取该文档。但是:相应私钥的所有者也可以解密文档,以便共享。

这两种情况都不符合您的目的(请阅读 ISO-32000-1 了解完整详情)。唯一的选择是购买昂贵的 DRM 解决方案。

【讨论】:

    猜你喜欢
    • 2011-06-20
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 2017-12-02
    • 2016-09-30
    相关资源
    最近更新 更多