V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kisshere
V2EX  ›  程序员

网页怎样尽可能禁止用户复制图片地址?

  •  
  •   kisshere · 2022-10-13 10:10:40 +08:00 · 11816 次点击
    这是一个创建于 797 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想过用 js 禁止右键,禁止拖拽到地址栏或者图片覆盖一层 div ,还有没有比较巧妙的方式禁止用户复制图片地址?

    111 条回复    2022-10-23 01:36:20 +08:00
    1  2  
    HashV2
        101
    HashV2  
       2022-10-14 10:01:34 +08:00
    我直接 wireshark 抓包
    KillPaul
        102
    KillPaul  
       2022-10-14 10:06:24 +08:00
    偏个题,我记得 Instagram 早期也是禁止了拖拽右键的,现在已经完全开放了。
    orangutan92
        103
    orangutan92  
       2022-10-14 10:31:54 +08:00
    如果是手动截图,就破不了。
    codehz
        104
    codehz  
       2022-10-14 15:56:37 +08:00
    (原题只是说禁止复制地址哎,也没说要防止保存啊,用得着这么麻烦吗(
    js 里下载图片(F12 里拿到的不算“复制”)然后生成 blob uri ,这样复制出来也不能在别的地方用
    ragnaroks
        105
    ragnaroks  
       2022-10-15 10:35:38 +08:00
    @a90120411 canvas 每帧只绘制这张图的某一个部分,利用人眼残留达到看起来是完整图片的效果,而截图是某个瞬间显示的就是残缺的。不过这个方法也是放君子不防小人,用 VLC 录制一秒钟的视频然后导出为图片可破。
    a90120411
        106
    a90120411  
       2022-10-15 14:55:23 +08:00
    @ragnaroks @runze #105 我用单个 canvas ,一个 800*600 的图片,分割成左右两个 宽度 400*600 的图片,10 毫秒重绘一次,会闪屏。如果上双缓冲 canvas 又无法实现截图残缺的效果。请教如何写这个效果?
    limebax
        107
    limebax  
       2022-10-15 19:49:27 +08:00
    防不胜防
    userdhf
        108
    userdhf  
       2022-10-15 22:36:14 +08:00
    network 一看就现原形了
    kenvix
        109
    kenvix  
       2022-10-16 09:19:36 +08:00
    防小白 background 就行了,省事效果好。bg 防不住其他也防不住
    a90120411
        110
    a90120411  
       2022-10-23 01:26:58 +08:00
    @ragnaroks @runze 两位可否针对 #106 的问题再帮忙指导一下,先谢谢了。
    ragnaroks
        111
    ragnaroks  
       2022-10-23 01:36:20 +08:00
    @a90120411 在完整图片的上层使用黑色矩形叠加
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2710 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 15:30 · PVG 23:30 · LAX 07:30 · JFK 10:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.