javascript - 保护 HTML 中敏感信息复制的最佳方法?
问题描述
我工作的公司要求保护某些呈现文章的区域,我已经实施了一些程序来保护网络抓取,但问题仍然存在于手动抓取。
到目前为止,反网络抓取机器人保护机制似乎运行良好,但我看到客户尝试手动抓取。
我试图保护文章内容的方法:
- 在文章的包装元素上设置复制事件处理程序以防止复制。-> 客户端可以利用用户脚本(greasemonkey 等)通过删除事件处理程序或简单地制作脚本来复制内容并保存到文件来有效地绕过它
- 开发者控制台保护 -> 没用
- 如果按下 F12 则重定向 -> 无用
似乎保护 HTML 是不可撤销的(除非有人告诉我否则),所以我想知道其他显示文本并使其完全无法复制的方法。
我想过的事情:
- JS 检测机制来诊断用户是否运行了任何类型的用户脚本,换句话说,是否没有恶意 JS 代码被注入和执行以提取文本
- 将文章的 HTML 转换为 PDF 并使用某种反文本选择/复制(如果它甚至存在)内联显示它。
- 将文章的 HTML 转换为 base64 图像块,这将使文本完全无法选择和复制
有什么好的方法可以防止我的内容被盗,同时又不影响用户体验?不幸的是,不再支持 Flash 小程序,它曾经在那个时代工作过。
编辑:Cmon 伙计们,我只需要至少让最终用户的工作更加努力的想法,即如果文本显示为图像,则不能选择文本,只能选择图像本身。
谢谢!
解决方案
一旦您将 HTML 从您的机器中运出,任何获得它的人都可以在闲暇时破坏它。你可以让它变得更难,但并非不可能。
重新考虑你的方法。“提供信息”和“禁止使用”有些冲突......
推荐阅读
- javascript - 如何从文本表单更改 iframe?
- git - 如何隐藏 .gitignore 文件本身
- asp.net - 如何管理 MVC 主网站下的子页面?
- c# - 如何使用 Angular 在遗留应用程序中实现微前端架构
- r - 过滤器计数不同 > 1
- python - Python中的指数运算符 - 使用变量和使用直接值给出不同的结果
- java - Maven pom文件,它在做什么?
- c++ - 如何在 boost C++ 库中编写格子图(比如方格)?
- sql-server - 消息 102 级别 15 错误 SQL Server:语法不正确
- java - 使用 Gson 获取 Json 的值