【问题标题】:Is there a way to hide the picture when the user press "print screen" button?当用户按下“打印屏幕”按钮时,有没有办法隐藏图片?
【发布时间】:2015-08-01 07:38:25
【问题描述】:

我的网站(php、javascript)向用户展示了一张图片。我想保护这幅画,并使其尽可能难以获得。用户无法下载,但可以使用“打印屏幕”按钮。

当用户按下“打印屏幕”按钮时,有没有办法隐藏图片?

【问题讨论】:

  • 我不确定,但你能限制要按下的键值意味着他无法按下键吗?
  • 如果浏览器可以显示用户已经在其客户端上的图片。
  • 在图片显示在用户屏幕上的那一刻,图片已经在用户硬盘上,所以你很难禁止下载它——即使你试图保护它的人是真正想要图片的人总会找到有知识的人下载它
  • 如果用户可以查看图片,他/她可以下载图片

标签: javascript php security web


【解决方案1】:

不,因为有人可以简单地在虚拟机中查看您的网站并从主机操作系统中截取屏幕截图。任何试图拦截击键或清除剪贴板的答案都可以很容易地被这种方法打败,而且你无能为力。

【讨论】:

  • 补充一点:如果你试图阻止用户截取合法截图,你最终会让用户感到非常沮丧。
【解决方案2】:

不支持

这在基于网络的解决方案中不受支持。

如果你使用的是IE,你可以尝试通过

清除剪贴板打印屏幕
<body onload=setInterval("window.clipboardData.setData('text','')",2) oncontextmenu="return false" onselectstart="return false">

但他的方法很糟糕。


如果这对您很重要,请考虑使用具有低级钩子的原生应用程序来包装您的网络应用程序

【讨论】:

    【解决方案3】:

    用户无法下载

    如果图像显示在屏幕上,则浏览器已经下载了它,用户可以浏览到他们的缓存并将文件复制出来。防止图像“盗版”的最佳方法是使用水印。

    【讨论】:

      猜你喜欢
      • 2014-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      相关资源
      最近更新 更多