如果服务器是Apache, 而且可以给自己控制, 可以考虑用Apache提供的目录访问限制功能, 把图片集中存入一个目录, 然后禁止直接访问, 只允许服务器自己访问, 然后认证, 读出图片显示的工作就是你要做的事了.

解决方案 »

  1.   

    回复人: ashchen(陈辉) ( ) 信誉:105  2003-07-24 12:07:00  得分:0 
      改名吧,对应的名字存到数据库
      
    我也想过,不过又要自己编一个程序了 :(
     
      

  2.   

    你说的是不是这个?
    http://members.lycos.co.uk/sports98/cgi-bin/photo/
      

  3.   

    http://members.lycos.co.uk/sports98/cgi-bin/photo/显然不行
    比如 http://members.lycos.co.uk/sports98/cgi-bin/photo/viewimg.php?id=71.jpg
    就可以显示图片毫无保密姓
      

  4.   

    babystudio(ABabyStudio)的思路及http://members.lycos.co.uk/sports98/cgi-bin/photo/都是正确的,至于如何调用显示,你自己处理一下认证就是了,难道这也要人家帮你做吗?
      

  5.   

    kaph11(侃侃) 
      viewimg.php?id=71.jpg  难道viewimg.php就仅仅是显示图片的作用?里面完全可以实现验证功能了,如楼上所说,我那是我自己看的,又不要验证...
      

  6.   

    sports98((︶︵︶)) 兄的不错
      

  7.   

    两天没有来这么热闹 ^_^sports98((︶︵︶)) 我先前没有仔细看,如果直接用viewimg.php?id=是不行 但是把viewimg.php集成到验证的文件里面就可以了 算是我说错了 :(
    看来现在有三种方法: 1。直接存到数据 2。随机的改名 3。viewimg.php
       还有没有更加巧妙的方法呢?
    另外还有几个问题
    1。似乎随机的改名的执行效率最高 那viewimg.php 和 直接存到数据 谁的执行效率高?(每张图片40k左右)
    2。asp里面有没有和php里 ImageCreatFromJPEG()、ImageJPEG()类似的函数?
    3。能不能单独禁止php和asp中某个函数比如php里的readdir()?还望诸位仁兄不吝赐教 ^_^
      

  8.   

    作个后台管理页面,你用随机种子给文件(扩展名都可以改)命名,然后需要调用图像的时候,向浏览器发送image头信息,然后把目录中的图像以2机制方式打开.(注:可以在页面里添加权限,可以用session控制 ,没权限用户看不到)
    这样的话,只需要提交个图像在数据库中的id号即可.
    http://www.xxxx.com/imgsrc.php?id=xyz
      

  9.   

    如果都存到数据库,那么数据库的压力就大了,不如直接都存到文件,然后用image函数读取图形文件再画出来,这样就不会泄漏图形文件的存储路径,只可惜gif文件不行,除非用低于1.6版本的GD库。谁有windows平台下php的GD库(低于1.6版本的),劳驾发一份给我([email protected]),谢谢!
    (现在也有被修改过已能支持GIF的高版本GD库,可惜都是Apache需要编译的,我不太会,而支持windows的只有一份PHP4.3的GD库DLL的修改版,不过不知为什么测试没有通过)