如何在线显示 PDF 而不担心未经许可共享?
我工作的公司销售医疗统计报告。目前,这些报告是通过我们的网站购买的,然后医疗保健提供者会收到 PDF 报告的链接。此链接指向一个 Web 服务,该服务验证购买并将 PDF 转储到响应流中。我们的 Web 应用程序是用 ASP.NET C# 编写的。
在下载之前,此过程非常安全,但没有什么可以阻止提供商与其他人共享这些报告。由于我们的报告主要是在 PC 上查看的,因此我们正在寻找仅在 Web 上查看这些 PDF 的选项,这将阻止客户下载报告。他们将登录自己的帐户并在线查看报告。
这样做的最佳方法是什么?我们可以使用哪种查看器来使最终用户能够看到 PDF 但无法下载它?我想到了 Flash,但我们希望这些报告可以在 iPad 上查看,因为许多医疗保健提供商正在迅速采用 iPad。
更新:
在收到你们的一些很棒的反馈后,我决定这不是一个容易的冒险。我的同事一直在阅读您的回复并进行讨论。我认为我们同意,我们需要让分享这些报告变得更加痛苦,因为我们几乎无法让它变得不可能。使用他们用来登录我们网站的密码来保护他们似乎是一个不错的选择。
他们共享 PDF 而不是共享他们的帐户信息(让他们的“朋友”可以登录并下载他们想要的所有报告)是有原因的。因此,也许共享一个使用与登录我们服务相同的密码锁定的 PDF 就足以阻止他们。
与水印相结合,当客户确实返回给我们时,可以识别客户,这似乎是我们唯一可用的真正选择。
谢谢大家。
The company I work for sells medical statistics reports. Currently these reports are purchased through our website and then the healthcare provider receives a link to a PDF report. This link points to a web service that verifies the purchase and dumps a PDF into the response stream. Our web application is written in ASP.NET C#.
Up until the point of download this process is pretty secure, but nothing stops the providers from sharing these reports with others. Since our reports are primarily viewed on the PC anyway we are looking at options to do a web-only view of these PDFs that would prevent customers from being able to download the reports at all. They would log into their account and view the reports online.
What is the best way to go about doing this? What sort of viewer could we use that would enable the end user to see the PDF but not be able to download it? Flash comes to mind but we want these reports viewable on iPad because a lot healthcare providers are rapidly adopting iPads.
Update:
After some awesome feedback from you guys I have decided this is not an easy venture. My co-workers have been reading your responses and discussing them. I think we agree that we need to make it more painful to share these reports since we can hardly make it impossible. Password protecting them with the password they use to login to our site seems like a good option.
There is a reason they are sharing the PDF and not sharing their account information where their "friend" could login and download all the reports they want. So perhaps sharing a PDF that is locked with the same password they use to login to our service would be enough to deter them.
That, combined with watermarks to identify the customer when it does happen to get back to us seems like the only real options we have available.
Thanks everyone.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
根据定义,如果用户正在查看 pdf,他们就已经下载了它。如果你将其转换为 html/css,那么他们就会下载该文件并保存/打印 html(并且使用 pdf 打印驱动程序,在任何情况下都可以直接打印到全新的 PDF,绕过整个“安全”系统)。
如果您想防止共享 PDF,请使用密码保护它们。 PDF 支持主密码(需要进行更改)和用户密码(用于打开它)。将用户 ID 编码到 pdf 中(水印“由用户 XYZ 下载”某处)并输入主密码。然后你就能够准确地找出是谁泄露了 PDF,如果它泄露了 - 上面会有一个漂亮的大水印,上面写着“他们做到了!”为你。
PDF 确实有阻止打印、屏幕阅读等的选项...但这些只是对阅读器程序的提示。 Adobe Reader 尊重这些限制(当然),但地球上的任何其他读者都可以选择忽略这些限制。
By definition if a user is viewing a pdf, they've downloaded it. If you translate it to html/css, then they're downloading that and can save/print the html (and with a pdf print driver, print directly to a brand new PDF in any case, bypassing the entire "security" system).
If you want to prevent sharing of the PDFs, then password protect them. PDF supports a master password (needed to make changes) and a user password (to open it). Encode the user ID into the pdf (watermark "downloaded by user XYZ" somewhere) and slap on the master password. Then you'll be able to figure out exactly who leaked the PDF, should it get out - there'll be a nice big watermark on there going "THEY DID IT!" for you.
PDF does have options to prevent printing, screen-reading, etc... But those are only hints to the reader program. Adobe Reader honors them (of course), but any other reader on the planet is free to ignore those restrictions if it chooses to.
无论机制如何,您传递到客户端计算机的任何信息都可以共享。没有根本性的方法来阻止它。
考虑一下:
假设您为数据/文件创建了某种类型的“查看器”应用程序。假设您已经设法让唯一可以运行该应用程序的人付费。 (非常大的假设)
现在,用户启动应用程序,下载数据并在屏幕上看到它。 “伟大的!”您认为。然而,它仍然不安全。用户可以轻松地进行屏幕截图(执行此操作的各种方法),然后将其粘贴到电子邮件中并将其传递。
要点是,即使您以某种方式完全控制了初始发行版,您对桌面的控制权也为零。而且桌面功能非常强大。
关于 PDF...它们需要查看器。有许多不同的查看器,它们都对 PDF 中的限制“提示”提供不同程度的支持。无论如何,交付的文件将由浏览器缓存并且很容易访问。
顺便说一句,您可能会调查 scribd.com 他们有一个开发人员 API,可能对除屏幕截图之外的所有情况都有帮助。您还可以查看 Adobe Digital Editions。据说它也是“安全的”......无论这意味着什么;)
Any information you deliver to the client machine, regardless of mechanism, can be shared. There is no fundamental way to stop it.
Consider this:
Let's say you created some type of "viewer" application for the data/file. Let's say you have managed to make it in such a way that the only people who can run the application have paid for it. (very big assumption)
Now, the user starts the app, downloads the data and sees it on the screen. "Great!" you think. However, it's still not secure. The user can easily do a screen shot (various ways of doing this) and simply pastes that into an email and pass it on.
Point is, even if you somehow have full control of the initial distribution, you have zero control over the desktop. And the desktop is pretty powerful.
Regarding PDFs... They require a viewer. There are many different viewers and they all provide varying degrees of support for the restriction "hints" that are in PDFs. Regardless, the file delivered will be cached by the browser and pretty easily accesible.
BTW, you might investigate scribd.com They have a developer API which might help for all cases but screen shots. You might also look at Adobe Digital Editions. It is supposedly "secure" as well... whatever that means ;)
严格的答案是“你不能”。你在网络浏览器中显示的任何内容,我都可以截屏。截图只是我最后的手段。通常,我有更好的选择。如果它是常规网页,我可以复制/粘贴文本。如果是 PDF,我可以保存它。如果您在服务器上将 PDF 转换为 JPG 并将其发送给我,我可以保存 JPG。如果你尝试 Flickr 的蹩脚技巧,将透明图像放在真实图像之上,这样我就无法右键单击并选择“图像另存为”,我可以使用 adblock 或类似插件来阻止你的透明图像。
归根结底,您最多只能让用户觉得复制副本比合法购买另一个副本更烦人。
The strict answer is, "you can't". Anything you display in a web browser, I can take a screenshot of. And a screenshot is only my last resort. Usually, I have much better options. If it is a regular web page, I can copy/paste the text. If it is a PDF, I can save that. If you turn the PDF into a JPG on your server and send me that, I can save the JPG. If you try Flickr's lame trick of putting a transparent image on top of the real image so I can't right click and choose "save image as", I can block your transparent image with adblock or similar plugin.
At the end of the day, the most you can do is make it more annoying for a user to do the copy than to purchase another copy legitimately.
您可能对 Adobe LiveCycle 感兴趣。这是 Adobe 的权限管理工作之一,可能正是您正在寻找的内容,或者至少为您提供了一些有关如何保护数据的想法。
http://www.adobe.com/products/livecycle/rightsmanagement/
他们有有趣的 PDF
。
You may be interested in Adobe LiveCycle. This is one of Adobe's rights management efforts and could be what you're looking for or at least give you some ideas on how to protect your data.
http://www.adobe.com/products/livecycle/rightsmanagement/
They have an interesting PDF here about
.
我不确定这是否可行,因为 PDF 已加载到客户端上的 Adobe Reader/Acrobat 中。不过,您可以看看 Winnovative 的 HTML 到 PDF 工具 - 我知道您可以指定很多安全选项。
以下是 Winnovative 网站的链接:
http://www.winnovative-software.com/
以下是您可以使用的一些安全选项创建 PDF 文档时指定:
我不确定,但这些选项之一可能会禁用下载功能。
I'm not sure if this is possible, because the PDf is loaded into Adobe Reader/Acrobat on the client. You might take a look at Winnovative's HTML to PDF tool though - I know there are a bunch of security options you can specify.
Here's a link to Winnovative's website:
http://www.winnovative-software.com/
And here are some of the security options you can specify when creating the PDF document:
I'm not sure, but one of these options might disable downloading capabilities.
从技术上讲这是不可能的。我以下是可能的解决方案。(几乎没有一个是理想的)
1- Make 受密码保护。 (包括某种 DRM。)
2- 添加个性化水印。
3- 将 PDF 转换为 SWF 以便显示(这可能是最好的解决方案)。
4-使用某种脚本混淆你的pdf路径。
我想不出别的什么了。我认为这个问题的解决方案还没有找到。我认为大型出版商有某种监控公司,负责监控非法发行。您也可以使用一些脚本来实现这一点。
Technically This is not possible. I following are the possible solutions.( almost none of them are ideal)
1- Make is password protected. (Include some kind of DRM.)
2- Add personalized watermark.
3- Convert your PDF to SWF for display (This probably is the best solution).
4- Obfuscate your pdf path using some kind of script.
I could not think of anything else. I think the solution to this problem is not found yet. I think the big publishings have some kind of monitoring company, that monitors illegal distributions. Which you can probably achieve using some scripting also.