如何使文件不可共享?

时间:2012-07-01 18:35:30

标签: php pdf copy

我正在开发一个关于上传和销售/购买pdf文档的php网站。当然,我需要以一种不可能(或至少很难)复制购买文件的方式对其进行编程。

你知道有什么机制吗?这是一个编程问题还是一个pdf问题?另外,您推荐的其他文件类型是否比pdf更适用于此目的?也许应该有另一个解决方案,而不是下载pdf文件,而只是在浏览器中查看它们?

谢谢! 查尔斯

修改

可能需要更多信息:网站上的用户将自己上传pdf,因此只有在下载时才能创建pdf,因为它们纯粹是用户生成的输入。

3 个答案:

答案 0 :(得分:2)

我认为密码/证书受保护的pdf是一个选项,但是他们需要证书验证(因此Adobe Acrobat会加载证书并在每次查看时针对您的服务器进行验证)。这可能需要购买者的大量工作,并且可能会让一些人失去服务。

我只是在购买时生成pdf并在pdf中明显地嵌入购买者的详细信息(地址,电子邮件等)(不要只是秘密地执行,因为它可能会违反某些国家/地区的隐私法律,尽管你应该嵌入一个私有的“交易ID”),并在其元数据中。通过这种方式,它既可以阻止共享(也就是说,他们的详细信息将与其他人共享,或者他们必须努力删除它们(如果您在文件中放置编辑锁,普通用户就很难) ))。 如果您确实在线找到共享文档,它还可能允许您识别并阻止用户进行其他购买。

根据问题编辑...可以通过Ghostscript对pdf文档进行自动编辑。 (可能需要与IMagick或其他软件集成,具体取决于您希望应用的编辑类型)

答案 1 :(得分:1)

我会将它们嵌入我的网页。当用户下载文档时,您无法控制它。 (除非你实施一些花哨的DRM解决方案)

简单的方法是使用Flex Paper或其他在线观看者。

答案 2 :(得分:1)

创建一个页面,用于验证用户是否已登录,并且有权下载PDF。

在向用户提供文件时尝试这样的事情,例如:如果您使用PHP:

header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"file.pdf\");