【问题标题】:How to protect PDF content from getting downloaded and view in the browser如何保护 PDF 内容不被下载并在浏览器中查看
【发布时间】:2019-09-03 10:09:10
【问题描述】:

问题是我尝试实现一种机制,即首先使用https://pdf.io 服务压缩 PDF 文件,然后使用https://base64.guru/converter/encode/pdf 服务将其转换为 base64,并使用 XYZ 服务器上的 FTP 上传 txt 文件。

然后我编写了一个小包装器,将 base64 转换回 pdf 并将其加载到 CANVAS 中。这一切都是为了避免: * 非法另存为 * 停止打印 * 分享 PDF 网址

我面临的问题是执行最后一个活动以获取加密的 txt 文件并转换回 PDF 所花费的时间特别是在较低的互联网连接上需要很多时间并且文件大小如果超过某个 MB(如 75mb)的文件会丢弃错误。

经过长时间的研究和可能的方法,我已经使用了 javascript 中可用的 btoa() 和 atob() 函数。

如果你们有其他出路,请告诉我,请帮助我。

背景

我已经完成了隐藏栏的嵌入式 URL、GOOGLE DRIVE PDF 限制以及堆栈溢出解决方案和其他论坛上的更多内容。

但他们都没有确保事情安全。我还阻止了页面上的 VIEW SOURCE CONTROL 选项,但仍然使用 3rd 方页面铭文或保存页面创建了访问 iframe 或画布 url 或 js 文件等中提及的 URL 的门。

【问题讨论】:

  • 如果您的客户可以访问任何内容,您将无法保护它。你只能让它变得更难。以 YouTube 为例,您是否认为他们希望有人能够下载他们的视频并在没有广告的情况下观看,但是有 youtube-dl 会不断更新抓取工具以获取视频。
  • 是的,我可以理解,但我需要帮助如何做到这一点。所以事情可以做得更好。感谢您的回复。

标签: javascript asp.net-mvc asp.net-mvc-4 mozilla


【解决方案1】:

尝试将每个页面呈现为 png 图像(在服务器上)并编写前端以对图像进行分页。您可以使用画布来渲染图像。您可以使用带有 httpOnly cookie 的 CSRF 保护。我不确定,但我认为这会阻止 scraping 页面并通过某些脚本呈现图像,至少它会使事情变得更加困难(正如我所说的那样,保护客户站点是不可能的应用程序)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    相关资源
    最近更新 更多