Google
Web dns.bdat.net

Re: [PHP-ES] Es posible Impedir Acceso a Imagenes directamente por URL...

From: Vladimir Hernandez (vladimir(EN)inter-connect.us)
Date: Tue Oct 19 2004 - 16:47:02 CEST


Notas respecto a este tema:

1.- El script al que se refiere el Sr Aribau sólo prohibe que se desplieguen
desde otro website. Quienes lo hicieron hacen la siguiente nota:

"How to Protect Your Images
One way to protect your images from being linked directly from your site is to
deliver them from a PHP script. **Note that there is no way to protect your
images from being copied by others and uploaded to their website; if they can
view it, they can copy it**. The method that I'm outlining here will only
protect your bandwidth from being used by some other site. ".

2.- La opción de Flash tiene sus ventajas y sus limitaciones, entre estas
últimas está la necesidad de un plugin por parte de los usuarios.

3.- Utlizando GD, se puede poner en cada imagen desplegada un rótulo que diga
algo así como "(C) 2004 www.misitio.com" de una forma tal que haga poco útil
el uso de la imagen. Hay que recordar además de que las imágenes sólo serían
vistas por quienes tengan acceso autorizado.

4.- Tengo un error en mi código. La línea después de <?php debe decir :
        if(isset($_SESSION['verificado']))
Me faltaba un paréntesis.

Vladimir
On Tuesday 19 October 2004 07:28 am, Josep Maria Aribau Cano wrote:
> Chicos, ahí va la solución:
> http://www.thesitewizard.com/archive/protectimages.shtml
>
> Pere Picornell wrote:
> > Es imposible que no se descarguen la foto
> >
> > Bueno imposible no, pero si no se la pudieran descargar, cómo la verían?
> > ;)
> >
> > En cualquier caso, el asunto es que modificando URLs no se pueda acceder
> > a todas la fotos, de manera que tampoco te las pueden linkear directas de
> > otra web por ejemplo, en el caso del flash seguiria siendo posible
> > modificar los parámetros que le pasas para ver otras fotos.
> >
> > | -----Mensaje original-----
> > | De: juanff(EN)epm.net.co [mailto:juanff(EN)epm.net.co]
> > | Enviado el: martes, 19 de octubre de 2004 15:19
> > | Para: Vladimir Hernandez
> > | CC: php-es(EN)lists.php.net
> > | Asunto: Re: [PHP-ES] Es posible Impedir Acceso a Imagenes directamente
> > | por
> >
> > URL...
> >
> > | hola a todos
> > |
> > | Yo hace poco lo arregle combinandolo con flash.
> > |
> > | Puede ser un poco complejo pero con eso te evitas que te copien las
> >
> > imagenes
> >
> > | Creas una pelicula y con action script le pasas el nombre de la imagen
> > | y
> >
> > su
> >
> > | ruta. Nadie lo ve y no se sabe desde donde se cargan las imagenes
> > |
> > | Aunque las otras soluciones son muy buenas tambien
> > |
> > | no se que opinan el resto de los compañeros de esta lista
> > |
> > |
> > |
> > | ----- Original Message -----
> > | From: "Vladimir Hernandez" <vladimir(EN)inter-connect.us>
> > | To: <php-es(EN)lists.php.net>
> > | Sent: Tuesday, October 19, 2004 8:11 AM
> > | Subject: Re: [PHP-ES] Es posible Impedir Acceso a Imagenes directamente
> >
> > por
> >
> > | URL...
> > |
> > |
> > | Otra opción que se me ocurre es elaborar una función en PHP que lea los
> > | archivos desde un directorio en tu disco duro que no es accesible vía
> > | Web, ya
> > | sea porque está protegido a través del software de tu servidor, o
> > | simplemente
> > | porque no se encuentra dentro de tu sección de acceso público .
> > |
> > | Un ejemplo sería el siguiente:
> > |
> > | Supocisiones:
> > | - Plataforma Linux (sólo haz los ajustes necesarios en caso de Windows)
> > | - El directorio que contiene tu website es "/www".
> > | - El directorio /home/images no tiene acceso desde la Web.
> > | - La variable "$_SESSION['verificado']" sólo existe si se ha validado
> > | previamente al usuario de tu script
> > | - Las imágenes se encuentran listadas dentro de una base de datos de
> > | MySQL que
> > | tiene la tabla images con dos campos: image_id e image_file, donde el
> > | primero
> > | tiene un nombre críptico y no relacionado con el nombre original del
> > | archivo,
> > | por ejemplo "0AX55", etc. El segundo campo contiene el nombre
> >
> > completamente
> >
> > | amigable del archivo, por ejemplo "foto_de_mi_perro.jpg". El campo de
> > | image_id es index unique.
> > | - Tu librería GD está activada
> > | - Un usuario aprobado necesita ver la imagen de image_id="0AX55".
> > |
> > | Si "images.php" contiente:
> > | <?php
> > | if(isset($_SESSION['verificado']) # si usuario aprobado de ver imágenes
> > | {
> > | $db = mysql_connect("server","user","password");
> > | mysql_select_db("database",$db); # abrir DB
> > | $image_sql="SELECT image_file FROM images WHERE image='".$image_id."'";
> > | $image_out=mysql_query($image_sql,$db);
> > | $image_array=mysql_fetch_row($image_out);# recibir salida de SQL
> > | $image_file=$image_array[0]; # modificable para más de 1 imagen
> > | $image_file="/home/images/".$image_file; # relacionando con directorio
> > | $image=LoadJpeg($image_file); #abriendo imagen
> > | header("Content-type: image/jpeg"); # para q browser reconozca imagen
> > | ImageJpeg($image,'',70);# nueva imagen a calidad 70%
> > | ImageDestroy($image);# Eliminar imagen de memoria
> > | }
> > | ?>
> > |
> > | el HTML de la página que contendrá la imagen se vería algo así:
> > | <img src="images.php?image_id=0AX55">
> > |
> > | El script es my básico, hay que completar para manejo de errores y de
> > | validación. El tag de IMG debe obviamente ser generado dinámicamente
> > | también,
> > | posiblemente de acuerdo a lo que el usuario elija en un formulario.
> > | Aunque sólo considera imágenes jpeg, se puede ajustar a otros formatos.
> > |
> > | La ventaja es que lee desde un directorio que no es públicamente
> >
> > accesible,
> >
> > | no
> > | se necesita modificar el sevidor para esto, y de hecho, con algo de
> > | paciencia
> > | se puede lograr que despliegue la imagen de cierto tamaño, etc.
> > |
> > | Espero te sirva
> > |
> > | On Monday 18 October 2004 11:41 pm, Jabi wrote:
> > | > te aconsejo que utilizes mod_rewrite de apache
> > | >
> > | > http://httpd.apache.org/docs/mod/mod_rewrite.html
> > | >
> > | > yo lo que haría sería renombrar todsa las fotos poninedo un prefijo.
> > | > Limitaría el acceso desde navegador a archivos en ese directorio con
> > | > ese prefijo especial.
> > | > y construiría un php que fuera invocado por el mod_rewrite, que se
> > | > encargará de leer y volcar la imagen que se esté solicitando, prevía
> > | > comprobación por ejemplo de que exista una variable de sesión.
> > | >
> > | > espero mas o menos haberte dado una idea...
> > | >
> > | > Un saludo
> > | >
> > | > Jabi
> > | >
> > | > El mar, 19-10-2004 a las 08:22, pp.garrido(EN)tiscali.es escribió:
> > | > > Muy buenas, gente, estos son de los mejores foros q he visto... a
> > | > > ver
> >
> > si
> >
> > | > > me podeis orientar....
> > | > >
> > | > > Ahora se me plantea un "problemilla" para mi, quizas para vosotros
> >
> > no...
> >
> > | > > TEngo una web, en un subdirectorio tengo imagenes enumeradas de
> > | > > cierta forma que son enganchadas desde mis paginas web. El
> > | > > directorio lo
> >
> > tengo
> >
> > | > > pa q no se pueda listar y ver el contenido...
> > | > >
> > | > > Mi problema es:
> > | > > Si hay alguna forma de hacer, que no se pueda acceder
> > | > > directamente a esas mis imagenes?
> > | > > imaginemos q por cualquier "casualidad" alguien averigua la forma
> > | > > en
> >
> > que
> >
> > | > > codifico los nombres de mis imagenes, esto implicaria que podria
> >
> > recoger
> >
> > | > > todas esas imagenes mediante
> > | > > http://www.miweb.es/imagenes/img2342524322.jpg variando el nombre.
> > | > > Basicamente La cosa es no poder hacer referencias directas desde un
> > | > > navegador a imagenes en mi directorio,
> > | > >
> > | > > ¿es posible?
> > | > > Gracias....
> > | > >
> > | > > Envíanos tus fotos digitales.
> > | > > Te las revelamos en papel de máxima calidad y te las llevamos a la
> > |
> > | puerta
> > |
> > | > > de casa.
> > | > > ¡Verás qué cómodo!
> > | > >
> > | > > http://foto.tiscali.es
> > | > >
> > | > > Envíanos tus fotos digitales.
> > | > > Te las revelamos en papel de máxima calidad y te las llevamos a la
> > |
> > | puerta
> > |
> > | > > de casa.
> > | > > ¡Verás qué cómodo!
> > | > >
> > | > > http://foto.tiscali.es
> > |
> > | --
> > | PHP Spanish Localization Talk Mailing List (http://www.php.net/)
> > | To unsubscribe, visit: http://www.php.net/unsub.php
> > |
> > | --
> > | PHP Spanish Localization Talk Mailing List (http://www.php.net/)
> > | To unsubscribe, visit: http://www.php.net/unsub.php
>
> --
> Josep Maria Aribau Cano
> jm(EN)infodos.com

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


This archive was generated by hypermail 2.1.7 : Fri Nov 12 2004 - 20:21:31 CET