给用户的开发的功能就是在线文档能预览电子版和直接打印,但要防止用户截屏和保存电子版,前端后端怎么设计文档格式,怎么调用打印功能?就指导思路
1
kkocdko 2021-10-09 14:58:06 +08:00 via Android 4
不可能,打印的时候可以选虚拟打印机
|
2
Blanke 2021-10-09 14:58:48 +08:00
不可能,浏览器打印的时候直接可以保存为 pdf
|
3
janus77 2021-10-09 14:59:25 +08:00 2
那我打印出来再拍照算什么?
|
4
paopjian 2021-10-09 15:00:21 +08:00
打印和截图的边界在哪里?
|
5
cuixiao603 2021-10-09 15:01:06 +08:00
又是老板提的需求吗
|
6
littlewing 2021-10-09 15:02:22 +08:00 66
离职
|
7
gouflv 2021-10-09 15:04:21 +08:00 via iPhone
上客户端
|
8
ioriyameng 2021-10-09 15:04:26 +08:00
无解。
|
9
lakehylia 2021-10-09 15:04:59 +08:00 1
提桶跑路
|
10
minamike 2021-10-09 15:05:37 +08:00 4
建议直接打印好寄给用户
|
11
MHPSY 2021-10-09 15:08:53 +08:00
虚拟打印机好像没办法防止
|
12
DogeFlyKite 2021-10-09 15:11:01 +08:00 1
单是防止用户截屏就做不到吧,截图的方式千千万,就算上客户端也是没有办法完全避免的
|
13
tabris17 2021-10-09 15:12:45 +08:00
不如想想如何辱骂提出这个需求的产品
|
14
yeshenyue OP @cuixiao603 是啊
|
15
tabris17 2021-10-09 15:15:03 +08:00
@DogeFlyKite 防止静态截屏是有办法的,就是动态化逐行显示,类似 CRT 显示器逐行扫描的原理
|
16
swordmaster 2021-10-09 15:16:24 +08:00 1
哈哈,同一个世界,同一个老板,要求我们给 CRM 系统增加防截屏功能。
|
17
debuggerx 2021-10-09 15:16:46 +08:00 2
使用前强制用户同意协议,一旦发现用户有擅自截图和下载的行为,直接走法务部,需要赔钱 1w RMB,然后写一些监控埋点和隐形签名——这样 lz 不用多久就会升职加薪、当上总经理、出任 CEO 、迎娶白富美、走上人生巅峰[狗头]
|
18
DogeFlyKite 2021-10-09 15:17:07 +08:00 1
举一个无解的例子,在 iOS 上无法阻止用户截屏,除非说你判断用户是在 iOS 的浏览器上打开的就直接不展示,只要你展示了就无法阻止用户截屏。
做成 App 的话可以知道用户是否截屏,但是这个也是截屏完成后才通知的,所以只能知道截屏了,无法在截屏前做一些其他处理 |
19
sexoutsex2011 2021-10-09 15:18:39 +08:00
截图防不了,打印 PDF 、另存为 mhtml 什么的还是可以防的,效果可以参考下 Google Docs 和 飞书文档之类的,不给编辑及下载权限。
|
20
DogeFlyKite 2021-10-09 15:19:05 +08:00
@tabris17 这样的话用户体验也是有问题的吧
|
21
masterclock 2021-10-09 15:19:47 +08:00
有一些卖打印机的有类似功能
预览显示的是带水印、低清晰度的文档,直接打印出来也是带水印、低清晰度的 要得到没有水印、高清的文档,需要用它的打印机、打印服务器打印,是个专用硬件,稍稍增加了破解难度 |
22
abc0123xyz 2021-10-09 15:19:54 +08:00
我直接拍屏
|
23
Kinnice 2021-10-09 15:20:38 +08:00
这个简单,需要用户购买你们专门定制的打印机和显示器,只有连接这个打印机和显示器才可以打印和预览,其他未授权的不允许。
|
24
sexoutsex2011 2021-10-09 15:21:35 +08:00
@sexoutsex2011 #19 忽略我,审错题了
|
25
yuhangch 2021-10-09 15:22:19 +08:00
用户名贴上追责?
|
26
abc0123xyz 2021-10-09 15:23:44 +08:00 2
建议机器放到专门的房间,必需全裸进去,而且金属检测仪不能响,信号屏蔽器打开,在找两个保安一人牵条狗监视,有任何违规动作,就放狗去咬,然后拉去打靶。
这样应该就行了 |
27
abc0123xyz 2021-10-09 15:24:52 +08:00
@abc0123xyz #26 必须
|
28
rioshikelong121 2021-10-09 15:25:40 +08:00 2
电子水印 事后追责
|
29
tabris17 2021-10-09 15:26:12 +08:00
@DogeFlyKite 帧率足够应该能行
|
30
sleepwalker 2021-10-09 15:43:20 +08:00 via iPhone
之前看 Netflix 的时候想截图,但是发现调用截图工具后页面黑屏了,不知道怎么实现的。
|
31
riggzh 2021-10-09 15:44:48 +08:00
我直接采集卡截图,怎么防。
|
32
xiongshengyao 2021-10-09 15:44:56 +08:00
方案 A:
1. 要求员工入职签订不平等的保密协议 2. 每个员工进入平台登陆账号后,背景显示只属于该员工的隐藏水印 3. 泄密后根据水印查到个人,追究刑事责任 方案 B: 1. 配备专门的办公用电脑,无法上外网,无法插 U 盘,重启后恢复系统 |
33
xiongshengyao 2021-10-09 15:45:28 +08:00
@xiongshengyao 方案 B 用的很广,基本上工厂里的电脑都是这样的
|
34
debuggerx 2021-10-09 15:51:40 +08:00 1
|
35
xingyuc 2021-10-09 15:53:29 +08:00
前段时间有类似需求,找到了这个,但需求又不做了,你要不要试试: https://github.com/saucxs/watermark-dom
|
36
docx 2021-10-09 15:54:39 +08:00 via Android
@DogeFlyKite #12 就算能禁止截图,那搞最原始的就好了。拍照,再不行手抄。
|
37
codehz 2021-10-09 16:00:49 +08:00
@sleepwalker 是 DRM 但是可以开 rdp 饶过限制(
|
38
anxn 2021-10-09 16:13:29 +08:00 via Android
打印好邮寄过去
|
39
devon 2021-10-09 16:19:54 +08:00 via iPhone
专用加密硬件键盘,只给两个键,预览 /打印。只有检测并验证了就个键盘,才让进系统。
|
40
snail00 2021-10-09 16:23:54 +08:00
完全防止做不到
1. 增加一些简单门槛, 防小白 2. 增加访问者的指纹, 可追溯 这两步一般使用就够了 |
41
sarices 2021-10-09 16:41:16 +08:00
只能物理防止了,看的时候先过安检,无任何摄像头设备才能进去看,然后看的时候一行行显示,显示几行把上面几行隐藏
|
42
lbp0200 2021-10-09 16:58:23 +08:00
使用量子物理的知识,就可以做到
参考双缝干涉实验,B 站上就有介绍 |
43
LudwigWS 2021-10-09 17:19:11 +08:00 via iPhone
下次开始研究如何防止在虚拟机截屏,如何防止物理拍摄了,答案就是要求实时开启摄像头对准用户和屏幕拍摄,有专门运营人员监控
|
44
dallaslu 2021-10-09 17:25:58 +08:00
自己做打印机,封闭系统;
禁止添加虚拟打印机和截图功能; 网站只能用这种专用的打印机才能访问; 打印机仅支持特制光敏纸,拍照或扫描时字迹自动销毁; 打印时自动增加水印:「扫描无效」; 打印时自动为纸张添加白磷涂层,做到物理上的阅后即焚; 增加摄像头,一旦摄像头被遮挡或识别到有相机、手机拍照,或者有镜子试图绕过拍照限制,则打印机自动爆炸销毁; 若有人长时间盯住屏幕,则自动闪烁,避免人肉照相机; …… |
45
faustina2018 2021-10-09 17:29:44 +08:00
去把用户键盘上的 printscreen 按键抠掉吧
只能这样了 |
47
ZField 2021-10-09 17:47:06 +08:00
很明显是一个不合理的需求,辩不过就快跑!
|
48
chaleaoch 2021-10-09 17:52:09 +08:00
无法截图这个已经超过了浏览器的能力了吧?
|
49
cheng6563 2021-10-09 17:58:58 +08:00
交错显示呗
|
50
Imindzzz 2021-10-09 18:01:42 +08:00
防止打印没法的,只有加数字指纹好溯源。
|
51
0o0o0o0 2021-10-09 18:05:51 +08:00
截图肯定是不可能阻止的,只要是能看见的,就肯定能被捕获。
可以试一试添加遮罩,比如棋盘遮罩或者颜色混合的遮罩或者加入噪声等,让用户无法获取高清原图。 |
52
nbndco 2021-10-09 18:08:17 +08:00
可以的,iOS,Android,macOS 都可以直接用官方 API 屏蔽截图。
|
53
nbndco 2021-10-09 18:08:38 +08:00
@DogeFlyKite 可以的,iOS,Android,macOS 都可以直接用官方 API 屏蔽截图。
|
54
0o0o0o0 2021-10-09 18:09:54 +08:00
不过如果是打印,那基本上没办法,你总是要把数据传到打印机的,所以说完全没有意义。
|
55
Jface 2021-10-09 18:11:37 +08:00
人为控制吧,安排个人专门负责这个任务
|
56
youngce 2021-10-09 18:22:26 +08:00
请问贵司的用户群体是盲人吗
|
57
yolee599 2021-10-09 18:25:01 +08:00
打印的时候直接选择虚拟打印机就能输出 pdf 了
|
58
TomatoYuyuko 2021-10-09 18:33:05 +08:00
设计一套光学摩尔纹遮罩呗
|
59
zjsxwc 2021-10-09 18:38:28 +08:00 via Android
五彩缤纷的黑?
|
60
zjsxwc 2021-10-09 18:39:02 +08:00 via Android
楼主的需求应该询问专业产品经理,而不是问我们程序员
|
62
alfchin 2021-10-09 19:31:50 +08:00 via iPhone
@DogeFlyKite 防截屏做得到。每一帧显示图片的一部分,每秒 24 帧人眼无法察觉但是截图无效
|
63
luwill 2021-10-09 19:35:59 +08:00
低端:拍照
高端:视频卡 |
64
netnr 2021-10-09 20:06:14 +08:00 via Android
打开文档触发:键盘截屏键键帽弹射起飞
|
65
liuidetmks 2021-10-09 20:29:05 +08:00 4
找佳能定制一个打印机型号,单独开发驱动程序,定义一套自己的描述语言 ,只有你的程序能预览,能打印。
年费 vip 会员免费送,增加安全性的同时,还能增加用户粘性,送这么好的打印机放家里可不能荒废了。 什么?你说成本兜不住,别和你开玩笑? 是你先开玩笑的。 |
66
jiayong2793 2021-10-09 21:29:25 +08:00
只要是能被显示器显示出来的,理论上都可以截图、打印,甚至拍照;
这是脑残才想出来的需求; 如果是防止被盗用建议打上水印,并将 pdf 全部二进制化; 如果是防止下载传播的,在线预览的内容全部图片化,水印印上用户姓名,谁传播出去的一目了然; |
67
hst001 2021-10-09 21:41:25 +08:00 via Android
可以的,开个网吧,专门使用这个文档系统,使用的时间派产品经理盯着用户,代码不用改。
|
68
leimao 2021-10-09 22:13:54 +08:00
从入门到放弃,你是完全忽视操作系统开发 app 的吗?
|
69
James369 2021-10-09 22:38:34 +08:00
虽然这个需求很变态,但是也是有办法解决的。
开发专门的显示系统(专门显示器+专门眼镜+用户需要服用量身定制药物才能看到),这样其它人都看不到,且无法截屏 /保存等等。 那么,不仅可以赚软件的钱,还可以赚硬件的钱,以及药品的钱,一举三得。 |
70
darknoll 2021-10-09 22:39:26 +08:00
提出这种需求的基本上啥都不懂的,直接离职即可。
|
71
CivAx 2021-10-09 23:17:19 +08:00 2
只要有输出,就能被捕获,这应该是每一个 IT 人都懂的道理。
一直以来对于内容保护基本都围绕输出渠道进行加密并去 C 端解密,包括但不限于特殊的 C 端播放器、流媒体分片传输+动态秘钥、特殊色彩 /图像格式、特殊协议 /硬件识别( DRM )。 就算财大气粗的流媒体服务商对下载( Web-DL )做了百般防护,也逃不掉被录屏( Web-Rip )的命运,何况你一个简简单单的在线文档呢? 防是防不住的,你的出发点只能够是 “我默认用户已经绕过我的君子限制拿到了我的文档”,然后在此之上去考虑后续追责的方案设计。甚至还可以钓鱼,明面上不限制截图,但是在客户使用前予以醒目警告禁止截图,一旦截图触发 activator 就后台隐秘记录一次。 |
72
MiketsuSmasher 2021-10-09 23:36:39 +08:00
代码和人,有一个能跑就行(
|
73
MiketsuSmasher 2021-10-09 23:39:50 +08:00
不好意思,上一条我的回复是我发错地方了
|
74
djoiwhud 2021-10-10 00:05:53 +08:00 via Android
这是个自欺欺人的功能。欺负人家的手机不能拍照么?
|
75
wdlth 2021-10-10 00:17:37 +08:00
你想看连蓝光、HDCP 、WideVine 等等都被破解了,你有多少技术和精力去和这些巨头相比……
|
76
yidinghe 2021-10-10 00:36:47 +08:00 via Android
如今谁还截图啊,都是直接拿手机拍了
|
77
billlee 2021-10-10 02:15:34 +08:00
不可能,商用打印机驱动输出的格式就是 PostScript, 相当于 PDF
|
79
Mac 2021-10-10 03:25:20 +08:00
我老婆她们银行有个内部桌面系统,类似沙盒,可以在外网登陆,你在这个沙盒里保存的所有文件都是加密的,只能在沙盒环境下正常打开,发到外部环境就是一堆乱码。也就只能做到这步,对着屏幕拍照片是拦不住的。
|
80
datou 2021-10-10 04:21:11 +08:00
@sleepwalker 用 edge 可以绕过 netflix 截图限制
|
81
ysc3839 2021-10-10 06:03:27 +08:00
@sleepwalker #30 那是浏览器提供的 DRM 功能。
|
82
liuzhedash 2021-10-10 08:35:34 +08:00
最接近的是各大厂商的云桌面,相当于远程访问一台无法链接外设的 pc,但是截屏和拍照是无法制止的
|
83
dingyx99 2021-10-10 08:43:52 +08:00
能打印就没法限制下载,现在各家都自带了输出到 PDF
|
85
IvanLi127 2021-10-10 09:52:35 +08:00 via Android
快进到开发一体终端设备。
|
86
datoo 2021-10-10 09:53:06 +08:00
这个简单。取消在线文档,直接给客户发纸质文档不就行了
|
87
wanguorui123 2021-10-10 10:02:40 +08:00
防君子不防小人
|
88
deszon 2021-10-10 10:13:23 +08:00
限制不能截屏,需要看一下怎么理解不能截屏,如果仅仅是不允许使用系统截屏,这个可以搞;
不能保存电子版就有点扯了,就算是程序实现了,但是打印出来,很快就识别出来,很多 OCR 连格式都能识别完成 |
89
Osk 2021-10-10 12:10:18 +08:00
防止截图: 就算你 c 端程序阻止用户截图, 但只要价值足够, 一个 hdmi 采集卡也就 400 不到, 效果很好, 硬件外挂如何破解呢? hdcp 早已破解, 采集卡也能复制显示器的名称, 基本上检测不到啊...
防止电子版: 打印后, 直接扫描一遍, 存成 pdf 美滋滋. 看你们希望防住哪些用户和资料的价值了: 通过法律手段: eula 加黑让用户确认泄露风险, 吓住部分用户. 加上水印, 前端 /c 端可以加上明水印和盲水印. 希望截图 /采集卡的用户好自为之. web 端限制过多,建议上客户端: - 调用 api 阻止截图和录制; - 打印前检查打印机名称, 驱动, 端口等信息, 尽量避免被虚拟打印. (反面教材: 我见过某系统拒绝虚拟打印机, 然后把打印机名称从 Adobe pdf 改成 hp xxxx, 绕过了...) 至于打印后扫描, 这个还真不知道怎么防, 只能加明水印了, 盲水印是难以抗住这种情况的. |
90
Huelse 2021-10-10 12:13:36 +08:00
看看百度文库,豆丁是怎么做的,顶多是只提供部分预览
|
91
tediorelee 2021-10-10 12:36:49 +08:00
@datou 我用 edge 看 nf 还是不能截图呢,一截就是黑的
|
92
nil333 2021-10-10 13:01:51 +08:00
但凡你敢让我看到的,我就有办法记录下来。
|
93
jasy 2021-10-10 13:15:02 +08:00
能让我看到我还保存不了下来?这不可能的事
|
94
retrocode 2021-10-10 14:21:12 +08:00
可以参考 百度文库 预留使用 canvas 实现 至少对非登录用户只展示部分 加上水印 能提高一下泄露风险,但是完全防止是不可能的, 禁止截屏感觉没什么意义,你防不住手机直接拍的,不如换个思路,况且浏览器也没那么高的权限
|
95
kingfalse 2021-10-11 07:57:34 +08:00 via Android
你跟老板说想屁吃呢
|
96
xuanbg 2021-10-11 08:09:12 +08:00
专用电脑
|
97
SmiteChow 2021-10-11 09:46:18 +08:00
能做,但需要搞定脑机接口,图像直接加密转化为脑电波,在脑中解密反馈给神经系统。
搞定前面的,打印就简单了,直接打印二维码,还是复用脑机接口。 |
98
hack 2021-10-11 09:47:08 +08:00
xvast ?
|
100
SmiteChow 2021-10-11 09:49:55 +08:00
总体来讲这个需求在可理解范围内,我见过不可理解的,需求不允许任何形式的泄露,什么文字描述,灵魂画手复刻都不允许。
|