给用户的开发的功能就是在线文档能预览电子版和直接打印,但要防止用户截屏和保存电子版,前端后端怎么设计文档格式,怎么调用打印功能?就指导思路
     1 
                    
                    kkocdko      2021-10-09 14:58:06 +08:00 via Android    不可能,打印的时候可以选虚拟打印机 
                 | 
            
     2 
                    
                    Blanke      2021-10-09 14:58:48 +08:00 
                    
                    不可能,浏览器打印的时候直接可以保存为 pdf 
                 | 
            
     3 
                    
                    rb6221      2021-10-09 14:59:25 +08:00    那我打印出来再拍照算什么? 
                 | 
            
     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    离职 
                 | 
            
     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    提桶跑路 
                 | 
            
     10 
                    
                    minamike      2021-10-09 15:05:37 +08:00    建议直接打印好寄给用户 
                 | 
            
     11 
                    
                    MHPSY      2021-10-09 15:08:53 +08:00 
                    
                    虚拟打印机好像没办法防止 
                 | 
            
     12 
                    
                    DogeFlyKite      2021-10-09 15:11:01 +08:00    单是防止用户截屏就做不到吧,截图的方式千千万,就算上客户端也是没有办法完全避免的 
                 | 
            
     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    哈哈,同一个世界,同一个老板,要求我们给 CRM 系统增加防截屏功能。 
                 | 
            
     17 
                    
                    debuggerx      2021-10-09 15:16:46 +08:00    使用前强制用户同意协议,一旦发现用户有擅自截图和下载的行为,直接走法务部,需要赔钱 1w RMB,然后写一些监控埋点和隐形签名——这样 lz 不用多久就会升职加薪、当上总经理、出任 CEO 、迎娶白富美、走上人生巅峰[狗头] 
                 | 
            
     18 
                    
                    DogeFlyKite      2021-10-09 15:17:07 +08:00    举一个无解的例子,在 iOS 上无法阻止用户截屏,除非说你判断用户是在 iOS 的浏览器上打开的就直接不展示,只要你展示了就无法阻止用户截屏。 
                做成 App 的话可以知道用户是否截屏,但是这个也是截屏完成后才通知的,所以只能知道截屏了,无法在截屏前做一些其他处理  | 
            
     19 
                    
                    laowu2012      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 
                    
                    laowu2012      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    建议机器放到专门的房间,必需全裸进去,而且金属检测仪不能响,信号屏蔽器打开,在找两个保安一人牵条狗监视,有任何违规动作,就放狗去咬,然后拉去打靶。 
                这样应该就行了  | 
            
     27 
                    
                    abc0123xyz      2021-10-09 15:24:52 +08:00 
                    
                    @abc0123xyz #26 必须 
                 | 
            
     28 
                    
                    rioshikelong121      2021-10-09 15:25:40 +08:00    电子水印  事后追责 
                 | 
            
     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     | 
            
     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 
                    
                    FaustinaD      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    找佳能定制一个打印机型号,单独开发驱动程序,定义一套自己的描述语言 ,只有你的程序能预览,能打印。 
                年费 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    只要有输出,就能被捕获,这应该是每一个 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 
                    
                    cvooc      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 
                    
                    总体来讲这个需求在可理解范围内,我见过不可理解的,需求不允许任何形式的泄露,什么文字描述,灵魂画手复刻都不允许。 
                 |