为了防止页面被复制,用 canvas 重绘整个页面?

2015-04-22 14:43:47 +08:00
 kokdemo

有没有这样的业务场景,为了避免页面里的内容被复制,改用canvas来加载页面中的全部内容?

6178 次点击
所在节点    奇思妙想
18 条回复
wdhwg001
2015-04-22 14:44:54 +08:00
问题来了:你如何防御手抄?
niceworld
2015-04-22 14:54:59 +08:00
@OCR
感觉这些都是防君子不妨小人
Midnight
2015-04-22 14:59:43 +08:00
那你干嘛不用flex来做UI
myc0210
2015-04-22 15:00:28 +08:00
会用F12的人不多。。。要是他真想抄。。。除非他没看到。。。要不然怎样都能抄。
kzzhr
2015-04-22 15:04:28 +08:00
你用canvas绘制,那不是要把所有的东西放进js里么。。程序员分分钟拿走
小白么?只要把右键屏蔽了就行了。。
不如在服务端画成图片~
also24
2015-04-22 15:05:04 +08:00
防止被复制的情况不知道,但是直接 canvas 整个页面的还真有

参见:
http://www.ruanyifeng.com/blog/2015/02/future-of-dom.html
http://engineering.flipboard.com/2015/02/mobile-web/
vigoss
2015-04-22 15:05:49 +08:00
有啊。小说站不都是直接生产的图片+水印仿OCR么。但是可以手打呀。
imn1
2015-04-22 15:08:45 +08:00
以前新浪北美是全图片的……现在不知道了
kokdemo
2015-04-22 15:09:58 +08:00
@kzzhr 内容可以ajax拉过来啊,不一定写在本地js里面
zkd8907
2015-04-22 15:12:18 +08:00
@kokdemo ajax拉过来更容易了,直接抓个包就看光了。
kzzhr
2015-04-22 15:20:35 +08:00
@zkd8907 F12,Network,多么纯净的内容~
banri
2015-04-22 23:01:54 +08:00
国外论文网站的显示思路是

一篇文章 N 页,可以在5分钟以内免费阅读前几页
由服务器生成 base64 图片
welling
2015-04-23 01:43:20 +08:00
用canvas的话,前端也必须先接收到数据,假如别人就直接拿源头的数据呢?所以,这个防御必须在后端做好,再返回给前端。
想了下,在普通的浏览器环境,好像也就只有服务器端生成图片这一条路,
可以看下百度文库,它会把其中的一些文字转成图片,达到一些限制,你复制过来也没问题,但是要以doc形式存。手抄没法防,当然了,也防不了OCR
更防不了程序员~
msg7086
2015-04-23 03:46:14 +08:00
现在的确已经有人这么做了。之前看好像是少年jump(?)的在线漫画阅读系统,已经做成了按方格打乱顺序的图片 + 正确顺序的数据 + canvas -> 正确顺序的图片 的这么个阅读器了。抓包出来都是乱的。
msg7086
2015-04-23 03:50:14 +08:00


感受一下?
manoon
2015-04-23 21:14:58 +08:00
@msg7086 这也是蛮拼的。。。
lazybios
2015-04-24 15:41:13 +08:00
@wdhwg001 赞这个回复~
benjiam
2015-06-08 13:53:17 +08:00
想搞定你很容易,关键是代价大小。你的值得别人去抄么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/185487

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX