0

我必须从网络服务器向用户发送一些文本信息。不幸的是,该文本必须在 7 天后销毁(这意味着应拒绝访问该信息)。因此,一个想法是创建一个内部带有“到期日期”的 pdf,以便在 7 天之后获得一个无法打开的文件。这可以用PHP吗?

但是如何开始呢?

我不需要 100% 安全的解决方案。如果用户采取禁止的方式来保护、复制或操作本文档,则责任将转移给用户。我希望找到一种方法,使内容不可读(即使它(仅)是第一印象)。但看起来,没有办法。

4

3 回答 3

4

PDF一旦生成,就不能被“销毁”。PDF 中不支持“7 天后不打开”,这种支持完全依赖于支持它的 pdf 查看器应用程序。没有什么说用户不能将他们的系统时钟重置为无论如何都在 PDF 的查看限制范围内的日期/时间。

PDF 的(in)安全标志仅限于对文档进行加密,因此无法对其进行编辑,并且一些标志向 pd 查看器建议应禁止打印、屏幕阅读或文本抓取。但它们只是建议,PDF 查看器可以随意解释/忽略它们。

最终,这个安全“系统”将毫无用处并被轻易绕过。而且由于它是基于浏览器的,因此您绝对无法控制远程用户的机器以防止数据以某种形式被下载/缓存/保存。

于 2011-05-30T16:28:32.127 回答
1

内容过期确实是个不可能的问题。您可以创建一些将在 7 天后清除的页面,但不能阻止人们将内容复制到其他地方。

此问题的所有现有“解决方案”都依赖于Security through Obscurity。这意味着人们将无法绕过您的“安全”,因为他们不知道它是如何工作的,而不是因为它本质上是安全的。

于 2011-05-30T17:39:11.683 回答
1

您可以将内容放在隐藏的表单域中。然后,您可以为文档打开事件添加 JavaScript PDF 操作,以便 Javascript 脚本检查日期并显示表单字段。这仅在最终用户使用 Adob​​e Reader 时才有效。我不确定是否有其他支持 Adob​​e PDF Javascript 的 PDF 查看器。

这种安全性有点业余。正如另一位回复者所提到的,最终用户可以更改系统日期并绕过安全措施。

如果 JavaScript 可以从带有数字证书的 https 网络服务器获取,那么这可能会起作用。

于 2011-05-31T05:16:19.507 回答