2004年09月10日 16:22 点击:超过8000次
曾有众多的网友在论坛里问这个问题,周围也有很多朋友关心这个问题,网站上的图片如何能防止被他人复制?可以说,唯一的方法是使用ASP或PHP为每个网页加密,此网页仅供你的客户浏览。很多公司是为了防止同行竞争对手复制本公司的图片,并非防止最终的客户。
在过去,禁止鼠标右键是很常用的方法,但聪明的老网民很快就能找到解决办法,解决办法实在是很多,在这里列出四种方法,可证明禁止鼠标右键并不是明智的做法:
方法1、打开Internet选项→安全→自定义级别,将“活动脚本”设为“禁用”,鼠标右键马上就可以恢复使用,网民可以“另存为”你的图片。
方法2、用鼠标左键直接将图片拖动到桌面上,即可保存图片。
方法3、按键盘上的Print Screen SysRQ键,可进行抓图。
方法4、点击IE工具栏“查看→源文件”,可找到图片的路径,使用下载工具来下载你的图片。
键盘上的键同样可以像禁止鼠标右键一样被禁止,在网页中不起作用,因为每个键在JavaScript中都对应有一个ASCII码,但是Print Screen SysRQ是唯一不能被禁止的键。也就是这个抓屏键不能被禁止,所以你原先的想法都无法实现。
为网页加密的基本步骤请见我写的这篇http://www.webshu.com/column/102/48.html。为每个含有图片的网页来加密是项复杂的工作,需要较好的编程基础,清晰的思路,或者找专人来为你的公司做加密工作。
动态网页可用上述提到的文中的Cookies方法,使用Query字段来产生很多个图片页面。如原先的网页为静态页,在不改动网站链接结构的情况下,需要为网站再申请一个ASP空间,将二级域名的IP解析到此空间。
在此空间做编程。基本的步骤还是上文提到的Cookies的方法。所不同的是,最终输出的语句为Response.Write "document.write('……')",产生一个动态的JS文件。原理为,如果Cookies不存在,则跳转至登录页,关于跳转语句,请参考http://www.webshu.com/column/102/57.html。程序如:
if Request.Cookies("pass")="" then
Response.Write "document.write('<meta HTTP-EQUIV=REFRESH CONTENT=0;URL=http://www.webshu.com/login.asp>')"
Response.End
else
Response.Write ""
end if
在静态页中使用<script src=http://……/**.asp></script>来调用远程JS文件进行判断。细心的朋友会发现,如果将“活动脚本”禁止,网民又可以正常浏览了。最彻底的方法还是要让空间支持ASP。
可以说,为网页加密几乎是唯一的方法。
网页树树版权声明:
此文为Webshu.com独家撰稿,著作权属作者所有,禁止转载。
此文网址 http://webshu.com/column/102/80.html