Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP生成PDF,包括过期日期_Php_Date_Pdf_Drm - Fatal编程技术网

使用PHP生成PDF,包括过期日期

使用PHP生成PDF,包括过期日期,php,date,pdf,drm,Php,Date,Pdf,Drm,我必须从Web服务器向用户发送一些文本信息。不幸的是,此文本必须在7天后销毁(这意味着应拒绝访问信息)。因此,一个想法是创建一个里面有“过期日期”的pdf,以便在7点之后得到一个无法打开的文件。白天 这在PHP中是可能的吗 但是如何开始呢 我不需要100%安全的解决方案。如果用户以禁止的方式保护、复制或操纵本文件,则其责任将转移给用户。我希望找到一种方法,使内容不可读(即使它只是第一印象)。但是看起来,这是不可能的。一旦生成PDF,就不能“销毁”。PDF中不支持“7天后请勿打开”,这种支持完全依

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

但是如何开始呢


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

一旦生成PDF,就不能“销毁”。PDF中不支持“7天后请勿打开”,这种支持完全依赖于PDF viewer应用程序。没有任何东西表明用户不能将系统时钟重置回PDF查看限制范围内的日期/时间

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


最终,这个安全“系统”将是无用的,并且被琐碎地绕过。而且,由于它是基于浏览器的,您完全无法控制远程用户的机器来阻止数据以某种形式下载/缓存/保存。

一旦生成PDF,它就无法“销毁”。PDF中不支持“7天后请勿打开”,这种支持完全依赖于PDF viewer应用程序。没有任何东西表明用户不能将系统时钟重置回PDF查看限制范围内的日期/时间

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


最终,这个安全“系统”将是无用的,并且被琐碎地绕过。而且,由于它是基于浏览器的,您完全无法控制远程用户的机器来阻止数据以某种形式下载/缓存/保存。

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


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

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


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

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

这种安全措施有点业余。如另一位报告员所述,最终用户可以更改系统日期并绕过安全措施


如果JavaScript可以通过数字证书从https Web服务器获取,那么这可能会起作用。

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

这种安全措施有点业余。如另一位报告员所述,最终用户可以更改系统日期并绕过安全措施


如果JavaScript可以通过数字证书从https Web服务器获得,那么这可能会起作用。

使用pdf是不可能的。哦,这根本不可能,你将如何阻止7天后访问?假设您创建了一些程序,如何阻止用户访问可能制作的屏幕截图?使用pdf是不可能的。哦,这根本不可能,你将如何阻止7天后访问?假设您创建了一些程序,如何阻止用户访问可能制作的屏幕截图?>但它们只是建议,PDF查看器可以完全自由地解释/忽略。PDF标准中可用的安全设置是布尔值:开/关。根本不支持“X天后启用此功能”。>但它们只是建议,PDF查看器可以完全自由地解释/忽略。PDF标准中可用的安全设置是布尔值:开/关。根本不支持“X天后启用此功能”。>您可以创建一些7天后将被清除的页面>您可以创建一些7天后将被清除的页面,这听起来很有趣。https上的JavaScript是不可能的,因为用户只能接收邮件。要获得正确的日期,可以让JavaScript通过https访问网页。由于更改DNS也可以绕过此措施,因此服务器还应具有证书。所有这些看起来都很尴尬。用户应该尽量保持简单,避免很多麻烦。使用FDF功能,可以从Web服务器导入机密信息,然后显示在字段中。这样,就可以改变系统了