有几种方法。
1. 将来自外部网站的链接重定向到您的“不要盗窃”图形
网上有很多关于如何做到这一点的教程,但我最近在 David Airey 的文章“如何阻止窃贼窃取您的图片和服务器带宽”中读到了它。 此技术是您网站根目录中 .htaccess 文件的补充
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yourwebsite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png|jpg)$ /images/yourgraphic.jpe [L]
显然,将上面的 **粗体** 文本替换为您的网站和您的图形。 请注意图形上的奇怪文件扩展名 (jpe)。 此技术完全阻止常规图片显示在第三方网站上,但例外允许显示您的自定义图形。 以下是一些示例
虽然很诱人地想直接进行面红耳赤的斥责,但正如 David 指出,违规者很可能只是不知道,因此最好采取更中立的立场,同时仍然说明您的观点。 一种可能有点过分的方法是将您的重定向图形设置为一个 10,000 像素的红色方块,这样肯定会破坏一些布局 =)
2. 在您的图片中添加一个大的版权信息,然后在您自己的网站上将其裁剪掉。
Derek Powazek 有一种非常简单的方法可以 在您的图片中添加不显眼的版权信息。 请查看 Derek 的示例风格的示例图片
此图片底部有一个清晰明显的(但措辞良好的)版权信息。 您不会希望在网站上的每张图片上都显示它。 因此,诀窍是将图片放在一个裁剪掉该信息的 div 中。 假设您有一个 300 像素的图片,其中底部包含一个 50 像素的版权信息。 以下是您在网站上显示它的方法
<div style="height: 250px; overflow: hidden;">
<img src="yourimage.jpg" alt="your image" />
</div>
250 像素是实际图片部分的高度,底部的版权部分会被裁剪掉。 不符合语义! 内联样式! 我已经能听到大家的叫喊声了。 这只是一项技术。 它有效,而且有效,因此如果它对您有效,我完全赞成使用它。
3. 将图片包含为 CSS 背景图片
CSS 背景图片具有一个很好的特性,即您无法直接从网页上将其拖放。 当然,图片仍然是公开可访问的,有很多方法可以 获取它们,但这实际上需要一些努力,并且可能会阻止很大一部分窃贼。 毕竟,窃贼之所以是窃贼,并不是因为他们喜欢努力工作。
一些糟糕的(且无效的)技术
- 使用 JavaScript 禁用右键单击。
由于许多窃贼可能使用右键单击保存方式来获取您的图片,因此这可能会阻止他们大约 2 秒钟。 这不会阻止单击和拖放,而且弊大于利。 - 对您的图片添加版权/水印。
很好,我可以选择让我的图片看起来很糟糕,或者添加一个小小的版权信息,而这个版权信息会被忽略或裁剪掉? - 将您的图片切成几块,然后在表格中显示它们。
这是 1999 年吗? 我知道在图片下方手动添加版权信息(如 #2 中那样)也是一项工作,但这对于任何一张图片来说都太费事了。 - 将您的图片设置为 Flash
唉。
其他设计师怎么看?
Elliot Jay Stocks 最近有一篇文章“我们如何阻止窃贼?”,他谈论了自己设计被盗的事情,以及他对此的应对措施。 评论中也有一些关于设计盗窃问题的良好讨论。
还有其他人有关于对抗盗窃的选项或想法吗?
如果有人真的想要它,他们会拿走它。 阻吓手段不怎么好。 右键单击禁用肯定不行,但 IMO 比这两种技术更有效。
#1 - 仅在他们链接到图片时有效,对于右键单击>复制并不十分有效
#2 - 效果不错,但同样只有在链接到图片或作为对那些不知道使用他人图片不cool的人的警示时才有效……而且这指的是您,CEO 先生,您告诉员工从网上获取图片用于公司通讯。
– 使图片链接到您的版权/使用条款页面,或者更好的是,将其全部 e-commerce-afied 并将其链接到一个出售图片的页面!
– 平均的网络用户不需要接受一些教育吗? CNN 需要有更多关于窃取图片成本的报道:http://www.pdnonline.com/pdn/newswire/article_display.jsp?vnu_content_id=1001096883 和 http://www.cgstock.com/essays/vilana 例如。 也就是说,我认为文章中的两种技术都可以作为教育工具,但它们实际上都只是威慑手段……
有没有办法添加一些 exif 数据,这样我就可以进行 Google 图片搜索或类似搜索来找到所有可能被盗的图片? 我不太担心链接到图片,因为日志文件应该能够告诉我哪些地方出了问题,但我真正关心的是直接盗窃。
图片盗窃之战仍在继续……
~Kevin
第一个不是最好的吗,因为它可以完全保护您的图片?
@Hatkirby: 正如 Kevin 提到的,#1 只能阻止热链接,而 #2 可以阻止窃取图片并自行托管图片的窃贼。 您实际上可以将两种技术结合起来使用。
感谢您的提及,Chris。
当然,Kevin 说这些技术并不能阻止那些真正想复制您图片的人,但它们可以阻止人们使用您的网站托管带宽,这是我写这篇文章时遇到的问题。
总会有办法获得您想要的图片,但最好的方法是看看股票图片网站如何保护自己。 它们损失最大,因此可以说它们在该主题上投入了最多的研究。
祝一切顺利,祝您周末愉快。
我正好在考虑这个问题。 我不太在乎别人复制我的图片,我只是不想被盗用带宽。
基本上,您不想让人们窃取您的图片有两个原因
1) 带宽
2) 版权和金钱
很容易实施措施,阻止人们盗用您的带宽,但完全阻止人们盗用图片要困难得多。 Screensnap 算不算?
重写热链接的图片实际上并不会节省您在热门网站上的太多带宽,因为您实际上仍然在发送图片,因此如果您担心带宽,我会使用非常小的图片作为替换,或者根本不重写 URL 到另一个图片。
LOL。 如果我真的很想要那张图片,有很多网站提取器可以下载网页或整个网站的所有内容。
为了方便起见,我可以直接将网页保持打开状态,然后从我的 TEMP 文件中提取图片。
无论你做什么,都没有绝对的方法来保护你的内容。
我读这篇文章很开心,尤其是第一部分。它非常有用,因为很多网站都从我的网站盗取图像。我打算试试这个,破坏他们的布局。哈哈。
感谢您的提示。
独翼天使,
马来西亚。
热链接保护没什么大不了的——大多数主机服务器在 cpanel 中内置了这个选项,因此您可以直接启用它。因此,如果您自己托管网站,您可能已经可以使用它了。
我讨厌禁止右键点击的功能——尤其是它还会禁用文本的右键点击,这意味着您不能复制任何内容,包括艺术家/摄影师的信息,以便您可以链接到它。
嵌入图像中的版权不是什么太大的威慑因素(除非这个人不知道这样做是错误的,或者不知道如何使用 Photoshop 程序)。如果他们下载图像并自己上传,他们会自己裁剪掉版权。
我喜欢让图像链接到印刷品销售网站的想法,并且发现对于我的艺术作品来说,最好的方法是让 Artwanted 或 Zazzle 托管我印刷的绘画图像,并使用该代码进行链接,该代码会自动链接回印刷品。对于非印刷作品,我使用 Picasa,它也内置了保护功能。它并不完美,但比在我的艺术作品被其他人声称(到目前为止还没有——可能是因为它不值得复制,或者这些网站上的保护措施有效,我不知道。 :))
是的,目前我的一个网站一直在使用大量的带宽,我正在考虑这可能是问题所在。。
归根结底,你无能为力。您不需要网站抓取软件来获取网页——IE 可以为您做到这一点……文件……另存为……将“保存类型”更改为“网页”,完成。这将保存所有内容——javascript 包含项、图像、css 文件……所有内容。还要记住,截图可以征服一切。然后只需加载(即使是到 Paint)并裁剪掉图像即可。您可以在您 **真的** 不想被复制的图像上使用图像水印,但这有点麻烦。尽管如此,我还是喜欢第 2 点,可以阻止 leechers 链接,但如果他们正在使用图像,他们会直接保存然后裁剪。
顺便说一下,很棒的网站。我喜欢您的布局。
如果您真的认真保护您的图像,那么您需要绕过“试图阻止人们窃取您的艺术作品”的整个第一步。因为,面对现实吧,如果有人真的想拿走你的艺术品,他们会找到一种方法来做到这一点。
我的建议是直接进入第二步,追踪那些窃取并未经允许使用您的图像的人。为此,我使用 DigiMarc。只需在创建图像时将不可见的数字水印代码嵌入到图像中(也可以使用可见的水印)。然后,如果它在网络上的任何地方使用,Digimarc 会跟踪它并通知您它在何处使用。此外,即使他们裁剪或更改图像,他们也无法删除嵌入的代码——它始终存在。
正如我所说,如果您 *真的* 认真保护您的作品,那么这项服务每年约 500 美元的价格不菲。从好的方面来说,它有效!
“禁用右键点击”毫无用处,因为您可以从浏览器缓存中获取图像。
感谢您的文章。我把很多我的图画放在网上,我通常会在图像本身使用 Photoshop 添加水印。我在里面输入我的信息,栅格化图层,然后将其不透明度降低到大约 20-25%。它确实会使图像看起来有点难看,但这小小的步骤可以确保即使图像被裁剪,它仍然有我的名字。有时我会尝试发挥创意,将水印作为绘画的一部分:小到不显眼,但又明显到足以阻止盗窃(至少我希望如此)。
Ugh… 我使用雅虎邮箱的漂亮 RSS 阅读器来提取这个(以及其他几个)Feed。自从实施了带宽“修复”后,我看到了“妈妈不允许盗取带宽”图像,而不是帖子的照片。现在我实际上必须访问该网站才能看到帖子中的图像。我不喜欢这样……不确定图像替换技术在现实世界中有多有用。
截图
作为开源的狂热粉丝,我不得不承认……你有一个很棒的想法、图像或脚本,分享它。让我们面对现实,无论我们在自己擅长的领域有多出色,总会有一个人说“嘿,这是一个很棒的概念。但它会这样更好。我承认窃取他人的带宽不好,但让我们面对现实,与其他任何事物一样,如果有人 *真的* 想要它,你真的无法阻止他们。无论我们采取什么措施,那些黑客总能想出一些新的方法来获得他们想要的东西。
为什么不使用漂亮的、(部分)透明的 **flash-frame** 来保护它(一点点)?像这样
<div id="protect_me" style="background-image:url(PICTURE.jpg); width:150px; height:100px;"></div>
<script type="text/javascript">
var so = new SWFObject("FRAME.swf", "frame", "150", "100", "8");
so.addParam("wmode", "transparent");
so.write("protect_me");
</script>
代码 #1 应如下所示
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yourwebsite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpe?g|gif|bmp|png)$ /images/yourgraphic.jpg [NC,L]
需要注意的几点
– 字符字面量“\.”与第 2 行和第 4 行中使用的正则表达式原子“.”之间的区别
– 从第 4 行括号中删除重复的“jpg”
– 在第 4 行末尾添加 [NC] 标志
图像具有不寻常的扩展名“jpe”这一事实无关紧要——这种技术对于“jpg”同样有效。
您可以在 regular-expressions.info 上了解更多关于正则表达式的信息,并且可以在 这本电子书 中找到一个很好的摘要(向下滚动到表 2.2)。
是的,我不认为有太多必要保护图像……除非您正在托管一些流量很大的东西,比如色情内容,否则带宽很容易获得,而且几个人链接到您的图像不会让您崩溃。
对于版权保护,使用带有 GD 图像库的 php 的人可以很容易地编写一个脚本,为任何需要保护的图像添加水印。
我一直使用 RewriteEngine 代码,不是为了防止图像被盗,因为这很难做到,而是为了防止带宽被盗。
不过,我确实遇到过一个问题。我注释掉了 RewriteCond %{HTTP_REFERER} !^$ 这行,因为显然某些服务器故意不发送引用信息,目的是窃取带宽。注释掉空引用信息代码可以正常工作,但它会导致 IE 浏览器出现问题。(你难道不喜欢微软吗?)如果有人在我的页面中单击图像链接以在新窗口中打开更大的图像,IE 不会发送引用信息,用户会收到错误代码,而不是放大的图像。
为了更好地对待 IE 用户,看来我必须将空引用信息代码放回……
mmm… 这里有一个想法。将热链接的 URL 重定向到付费广告(谷歌等)怎么样?他们仍然使用您的带宽,但您通过其他人的网站销售广告。可行吗???
干杯,
Gregory
@Ali:我喜欢那个想法,很简单。即使您不使用它来显示消息或进行悬停等操作,它也只会阻止人们直接从您的页面中拖动图像。
正如许多人所说,没有什么方法是完美无缺的,但能够采取一些预防措施是件好事。
除了 Ali 的建议
我发现的一种方法是将 100% 透明的 png 平铺覆盖在图像之上。这可以在图像的 CSS 类中包含,因此它会自动应用于每个图像标签。webdesigner wall 网站上有一个关于如何使用 CSS 将图像叠加在其他图像之上的很棒的教程。使用这种技术,用户甚至无法进行“右键点击”,“另存为”,因为他们每次都会保存一个无用的透明 PNG。
这种技术也适用于保护您网站的全部内容,包括文本不被复制等,尽管“查看源代码”始终是一个规避方法……
窃取您图像的唯一方法是截图,然后在 Photoshop 中裁剪,如果他们真的这么想做,那么您就无能为力……
我可能在胡言乱语,所以如果您觉得我错了,请告诉我。我是一个 CSS 新手……
NP
我不明白这里的是什么
你在你的网站上写了一篇关于图片盗用的文章,这是一个好主意,我一直对如何防止这种情况感兴趣。当我读完这篇文章后,我看到了一个名为“理论上相关的文章”的部分,其中第 3 点是一篇名为“如何窃取网站背景图片”的文章(链接:https://css-tricks.org.cn/how-to-steal-a-websites-background-image/)。
看到这个我非常失望。你怎么能教人们如何从网站上窃取图片呢?
我尝试了所有这些技巧…最终,如果一个人将页面保存为完整的 html 文件,他仍然可以获得图片。
无论如何,很好的建议。谢谢。
有人从我们的网站上偷了一张大图片,并将其用在他们网站的背景 css 中。这似乎绕过了我们访问文件中的阻止?有什么线索可以阻止这种情况,或者我们做错了什么?谢谢
已修复!如果您在文件夹中有一个单独的访问文件,则该文件优先级更高。