日期:2014-05-17  浏览次数:20383 次

网站图片路径怎么加密 让用户看不到真实图片路径,并且另存为不了呢
最近要做一些图片只能本站用户浏览,并且是登陆状态的,最近看了一个网站,复制那个图片的路径会是
http://img7.zyoo.net/?3ru2tnQiV7HwOIeii4AOgG/jSFRHn+TMvREHCjwhBwg=
img标签
HTML code

 <img alt="畅游天下新传媒-山西曙光国际旅行社有限公司 107" lang="畅游天下新传媒-山西曙光国际旅行社有限公司 107"  class="oimg" id="oimg"                            src="http://img7.zyoo.net/?3ru2tnQiV7HwOIeii4AOgG/jSFRHn+TMvREHCjwhBwg=" > 



就是这么写的
当是登陆状态的时候这个路径是能打开,如果不是的话。这个图片就会变成一个需要你登陆的图片,提示你需要登陆,光复制这个图片地址也是,这个用的是什么方法呢。。怎么也找不到图片的真实路径。。而且还能验证登陆状态

------解决方案--------------------
http://www.google.com.hk/search?hl=zh-CN&lr=lang_zh-CN%7Clang_zh-TW&newwindow=1&safe=strict&biw=1364&bih=707&tbs=lr%3Alang_1zh-CN%7Clang_1zh-TW&q=asp.net+writefile+%E5%9B%BE%E7%89%87&oq=asp.net+writefile+%E5%9B%BE%E7%89%87&aq=f&aqi=&aql=&gs_l=serp.3...76508l78062l0l78220l8l6l0l0l0l1l245l245l2-1l1l0.frgbld.

不过是简单地文件输出而已。

然后再输出之前,跟任何asp.net程序完全一样,判断一下用户是否登录就行了。
------解决方案--------------------
顺便说一下更深一层的知识。

对于一个只会asp.net的程序员来说,可能觉得用户访问类似
http://www.abc.com/images/1.png
这类图片无法用你的asp.net程序阻挡,所以才会有上述的所谓的“解决方案”。实际上web服务器其实非常简单,写20行.net代码就可以用 HttpListener 自己创建一个web服务器,所以你完全可以自己控制这种路径,所以客户端不管访问什么文件,你的程序其实都可以进行拦截、判断是否登录过、甚至临时变成其它的内容输出。前提就是你可以轻松地写一个web服务器程序,就好象任何winform、windows service程序中也可以写几十行代码就支持http客户端访问一样,就好像你买一个几十块钱的便宜的路由器它就直接支持浏览器端访问一样,其实完全没有必要依赖IIS。

很多做其它平台开发的人,或者即使是做.net平台开发的人,不一定只是一味依赖IIS之类的封装起来的功能,他也会自己做一些系统级的开发。例如你的网站中的一些图片等等资源,就可以去访问自己轻松建立起来的一个小web服务器程序,这样就可以更好地100%完全控制资源访问行为。
------解决方案--------------------
所以“让用户看不到真实图片路径”这完全是个误解。那是一个随机id号,例如guid编号,目的是保证每一次生成的编号就尽量唯一,而不是为了什么“加密”。把这个随机编号误解为“加密”,就平添一种疑神疑鬼的色彩了。

关键的是你能不能编程去读取图片然后输出。
------解决方案--------------------
关于“另存不了”,我想你不要想了。浏览器这个发达的今天,而且我们还经常使用程序来下载网页,怎么可能被一点javascript代码(例如限制右键菜单之类的)就给绊住呢?

如果想保存,非常容易保存。例如用一个网站下载工具去下载网页,或者到浏览器的缓冲文件夹里去翻一翻,或者在一个http调试器去看图片,图片只要想让人家浏览器正常显示,你就挡不住人家保存起来。
------解决方案--------------------
加水印吧 ~~~~~

这样他既是下载了 。。也不一定会用你的图片 。。。。。。。。。。
------解决方案--------------------
探讨

顺便说一下更深一层的知识。

对于一个只会asp.net的程序员来说,可能觉得用户访问类似
http://www.abc.com/images/1.png
这类图片无法用你的asp.net程序阻挡,所以才会有上述的所谓的“解决方案”。实际上web服务器其实非常简单,写20行.net代码就可以用 HttpListener 自己创建一个web服务器,所以你完全可以自己控制这种路径,所以……

------解决方案--------------------
楼主看是否可以用IHTTPMODULE 进行过滤 在这里面去设定要过滤的内容和条件
------解决方案--------------------
很简单 ,用 FLASH 读出来 包装一下 还可以自己加水印, 呵呵
------解决方案--------------------

看P哥回复来了。
这个深层知识很有用哈哈。希望P哥能多说点
------解决方案--------------------
截屏同樣做到拿走你圖片,不要無聊了