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