Foros del Web » Programando para Internet » PHP »

Leer cabecera imagen remota

Estas en el tema de Leer cabecera imagen remota en el foro de PHP en Foros del Web. Me estoy montando un filtro anti-XSS (se que ya los hay hechos, como safeHTML) y ya he resuelto algunas dudas respecto a expresiones regulares: http://www.forosdelweb.com/showthread.php?t=375546 ...
  #1 (permalink)  
Antiguo 16/07/2007, 06:06
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 4 meses
Puntos: 0
Leer cabecera imagen remota

Me estoy montando un filtro anti-XSS (se que ya los hay hechos, como safeHTML) y ya he resuelto algunas dudas respecto a expresiones regulares:
Ahora me viene lo que yo quiero controlar.
Partiendo de que yo tengo un archivo javascript, (llamemosle codigo_malicioso.js) si lo renombro a codigo_malicioso.jpg y a través de un foro o blog, yo publico lo siguiente:
<img src="http://la_ruta_al_archivo_JS_camuflado/codigo_malicioso.jpg" />

IE ejecuta el código Javascript que hay dentro de ese archivo.
Mozilla firefox no tiene este problema. Opera no lo he comprobado.


Y aquí viene mi pregunta: Como puedo desde PHP leer la cabecera del archivo al que apunta una etiqueta <img>?
Ahorrandonos el proceso de detectar las etiquetas <img> claro está, mi duda se centra en la lectura de la cabecera de un archivo.

Me gustaría poder solucionar este problema ya que lo veo una gran vulnerabilidad de IE. Con este método XSS no bastaría aplicar un filtro para eliminar cadenas maliciosas ya que aparentemente la imagen cumple los requisitos para ser publicada.

Un saludo!
  #2 (permalink)  
Antiguo 16/07/2007, 10:19
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Leer cabecera imagen remota

no se si sirve para urls pero un ejemplo seria la funcion

mime_content_type

que de devuelte si es imagen, aplicacion o texto...

ahora ahora no se me ocurre otra cosa :P, suerte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:41.