2

我用谷歌搜索了很多,但没有找到足够的答案。

我需要900 X 5200 px在我的一个页面中放置一张图片 ( )。由于图像很敏感,我需要防止用户复制图像。我有一个想法可以做到这一点:

我将图像分成几块。然后图像网格将被加载到一些 div 中。所以用户将无法保存图像。或者他/她将只保存整个图像的 1 平方厘米部分。

但是,如果电网的某些小部分无法加载,则此计划将不起作用。所以,我想做另一件事。我想加载完整的图像,然后将图像切割成部分。然后在 div 中完全显示这些部分。

这需要javascript。但我很困惑如何开始,需要你的帮助。

现在你知道了,如果你有更好的想法,请分享。

提前致谢。

4

3 回答 3

3

诀窍很简单。创建一个 div,背景是您要显示的图像。在其上放置一个带有透明图像的 div。当用户去保存图像时,他们得到一个空白。对您的服务器进行编程,使其不返回对图像的“直接”请求(因此一些聪明的家伙不能只查看 css 并检索图像的 URL)。

当然,图像仍将在他们的缓存中,但切片图像也会如此,因此不会使有决心的人更难检索图片。

于 2013-02-13T15:40:26.253 回答
1

TL;DR不要过度设计解决方案,打印屏幕会绕过您所做的任何事情。

您将无法阻止人们复制此图像。干净利落。不管你付出多大的努力,一个简单的PRT SCRN粘贴到 Paint 中就足够了。

您最好的选择是不要过度设计它,只需在页面上放置水印和版权声明。其他选项可以包括在图像顶部放置一个透明<div>的,这样它就不能被右键单击和保存,但它仍然不会阻止图像存储在用户的缓存中。或者阻止他们使用开发人员工具或 Firebug 来查找源图像。

于 2013-02-13T15:56:09.633 回答
0

你可以这样做: http ://www.pixastic.com/lib/docs/actions/crop/

然而,您需要围绕该库开发您的逻辑。

我做了例子,你可以在这个链接上看到它:http: //simplestudio.rs/yard/crop_img/

基本上,您可以通过 php 获取图像的 URL,并使用我的代码或类似于它的代码将图像裁剪成碎片并将它们显示在画布上。

这种方式图像无法通过浏览器或检查元素或其他方式访问。用户可以单独保存片段,但您可以将我的片段代码配置为 5px,我将其设置为 20x20px。

*通过右键单击图像上的任意位置并执行“将图像另存为..”选项来测试保存图像片段。

此外,您还需要考虑如何将 src 隐藏到 php 提供的图像中,如果您需要帮助,我可以帮助您。

于 2013-02-13T19:46:04.653 回答