Ha encontrado un error enorme en mi código

  • camperjohn
  • Guru
  • Guru
  • Avatar de Usuario
  • Registrado: Nov 28, 2004
  • Mensajes: 1127
  • Loc: San Diego
  • Status: Offline

Nota Diciembre 11th, 2009, 2:49 pm

Soy yo, o usted también consigue que "Aahhhhh..." Sentir cuando por fin encontrar finalmente un error, que ha estado molestando por mucho tiempo. En mi caso, este error estúpido años ha causado la CSS y las imágenes en mi (45.000) sitios web que a veces, de vez en cuando, tornillo hasta todo el sitio.

Hoy he encontrado. ¡Oh hombre es mejor que nada. Necesito un trago!

El chocolate caliente es mi bebida. Im tan emocionante.
Upload video and picture galleries at http://www.bodydot.com?post+upload+video+picture+gallery
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Diciembre 11th, 2009, 2:49 pm

  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Diciembre 11th, 2009, 7:14 pm

Felicidades por el final de la caza.

Quote:
"La paciencia es una virtud"

¿Es cliché, pero adecuado.
I'd love to change the world, but they won't give me the source code.
  • Bogey
  • Bogey
  • Genius
  • Avatar de Usuario
  • Registrado: Jul 14, 2005
  • Mensajes: 8211
  • Loc: USA
  • Status: Offline

Nota Diciembre 12th, 2009, 10:24 pm

Queremos describir el error? Im curioso :D
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • camperjohn
  • Guru
  • Guru
  • Avatar de Usuario
  • Registrado: Nov 28, 2004
  • Mensajes: 1127
  • Loc: San Diego
  • Status: Offline

Nota Diciembre 13th, 2009, 10:42 am

Bug estúpido realmente.

Tengo cerca de 45.000 dominios alojados en rentyourdot.com, con cerca de 100 plantillas. Los nombres de archivo se accede usando algo como / images / template / filename.filetype.

Ejemplo, / images / redtemplate / header.jpg

Yo no quería de Google para darse cuenta de que de los 45.000 sitios web que tengo de que muchos de ellos tenían la misma plantilla. Así que una de las muchas cosas que hice fue eliminar el nombre de la plantilla de todas las plantillas, de modo que las imágenes y archivos CSS ahora parecía ser de orden general y no todos ellos procedentes de una carpeta. Lo hice agarrar plantillas, basado en un identificador de sesión y luego acceder a los archivos de

/ images / header.jpg

Entonces utiliza reescritura de URL para cambiar la ubicación de la imagen de / images / header.jpg a / images / redtemplate / header.jpg

Esto significa que dos diferentes modelos, puede tanto el acceso / images / cabecera. jpg, pero que obtendrían imágenes diferentes. Esta era la correcta.

Ejemplo,

/ images / header.jpg -> / images / rojo template / header.jpg si la persona estaba utilizando el rojo de plantilla
/ images / header.jpg -> / images / azul template / header.jpg si la persona estaba utilizando la plantilla azul

Este estaba trabajando la mayor parte del tiempo. Sin embargo, había la posibilidad de que en realidad fueron colisiones en el sistema de cache MD5, porque yo estaba usando el nombre corto para determinar el nombre del archivo caché no, la versión larga

es decir:

si la persona estaba utilizando el rojo de plantilla
/ images / header.jpg -> / images / rojo template / header.jpg -> md5 (/ images / header.jpg) -> e4d909c290d0fb1ca068ffaddf22cbd0.jpg

si la persona estaba utilizando la plantilla azul
/ images / cabecera. - jpg> / images / azul template / header.jpg -> md5 (/ images / header.jpg) -> e4d909c290d0fb1ca068ffaddf22cbd0.jpg

MD5 MISMO!! Esto significa que si se almacenan en caché el archivo, el rojo de plantilla, se muestran las imágenes de color azul. Cuando la caché expire, funcionaría correctamente, y la plantilla azul se muestran imágenes de color rojo.

Dado que la mayoría de las veces, el MD5 no habría colisiones en el nombre de la caché, que trabajará para la mayoría de archivos, es decir:

/ images / cabecera. jpg (redtemplate)
/ images/header2.jpg (bluetemplate)

Ahora bien, no habrá una colisión en la codificación de MD5.

¿Algo de esto tiene sentido? Lo que quiero decir es que yo debería haber estado utilizando el nombre de MD5 del nombre de la imagen de destino, no el nombre de la imagen de origen.

/ images / redtemplate / header.jpg -> e4d909c290d0fb1ca068ffaddf22cbd0.jpg
/ images / bluetemplate / header.jpg -> d41d8cd98f00b204e9800998ecf8427e. jpg

Esto es lo que el error se redujo a:

$ CNAME = md5 ($ PROVEEDOR);

VS:

$ CNAME = md5 ($ dname);

Una diferencia carta (frente a la fuente de destino) significa el nombre equivocado fue utilizado y todo funcionó el 99% del tiempo, en lugar del 100% del tiempo.

I couldt encontrar esto para la vida de mí!

Aquí hay un ejemplo de que funciona correctamente (nombre de la plantilla es yeso):

http://www.photofight.com/images/yeso/smile.gif

Remapped (nombre de la plantilla sigue siendo yeso, pero no ve la reasignación):

http://www.photofight.com/images/smile.gif
Upload video and picture galleries at http://www.bodydot.com?post+upload+video+picture+gallery
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Diciembre 13th, 2009, 11:31 am

Niza encontrar. Tengo que decir, sin embargo, la OMI ha utilizado algo un poco más descriptivo que PROVEEDOR vs dname, esto no podría haber crecido en este desafío. Definitivamente hay ventajas al uso de convenciones.
I'd love to change the world, but they won't give me the source code.
  • camperjohn
  • Guru
  • Guru
  • Avatar de Usuario
  • Registrado: Nov 28, 2004
  • Mensajes: 1127
  • Loc: San Diego
  • Status: Offline

Nota Diciembre 13th, 2009, 5:41 pm

Bueno, el problema es el sistema es enorme, y este elemento era tan simple, obvio, cuando miré el código, pensé: "Por supuesto, su nombre de origen. A pesar de que sabía lo que estaba pasando, pensé que era lo correcto.

Si yo tuviera la etiqueta que source_name $ y $ destination_name, habría todavía se hacen el mismo error, ya que fue error en mi pensamiento - no fue sólo un error tipográfico.

Creo que todo se reduce a no ser capaz de paso a través de PHP de la misma manera que puede paso a C + +. Si pudiera haber golpeado F11 como en MSVC + +, yo lo habría visto con el valor incorrecto.
Upload video and picture galleries at http://www.bodydot.com?post+upload+video+picture+gallery
  • Bogey
  • Bogey
  • Genius
  • Avatar de Usuario
  • Registrado: Jul 14, 2005
  • Mensajes: 8211
  • Loc: USA
  • Status: Offline

Nota Diciembre 13th, 2009, 8:02 pm

Eso es un error menor que es imperceptible. He hecho un montón de esos tipos de errores, pero con mucho gusto a todos los sistemas eran pequeños y los que me escribió desde cero.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Diciembre 13th, 2009, 8:42 pm

Quote:
Creo que todo se reduce a no ser capaz de paso a través de PHP de la misma manera que puede paso a C + +. Si pudiera haber golpeado F11 como en MSVC + +, yo lo habría visto con el valor incorrecto.


Trató con Zend Xdebug antes? Usted puede obtener algunos resultados agradables tiempo de ejecución con el combo.
I'd love to change the world, but they won't give me the source code.
  • Michael william
  • Beginner
  • Beginner
  • No Avatar
  • Registrado: Ago 24, 2009
  • Mensajes: 45
  • Status: Offline

Nota Diciembre 15th, 2009, 2:45 am

Felicidades...Niza encontrar por usted. Por fin has encontrado el error. ¿Puedes describirlo?
  • casablanca
  • Proficient
  • Proficient
  • Avatar de Usuario
  • Registrado: May 29, 2007
  • Mensajes: 481
  • Status: Offline

Nota Diciembre 15th, 2009, 7:58 pm

Sí, siempre es "¡Ah..." Especialmente con aquellos difíciles de seguir los errores que finalmente localizar a una sola línea de código. (O en su caso, un solo carácter :D )
No Strings Attached: A JavaScript graphics demo.
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Febrero 17th, 2010, 3:54 am

Quote:
Yo no quería de Google para darse cuenta de que de los 45.000 sitios web que tengo de que muchos de ellos tenían la misma plantilla. Así que una de las muchas cosas que hice fue eliminar el nombre de la plantilla de todas las plantillas, de modo que las imágenes y archivos CSS ahora parecía ser de orden general y no todos ellos procedentes de una carpeta.


Este comentario siempre me molestaba, y hoy no podía dejar de pensar lo que Google piensa en los miles de sitios de todo utilizando phpBB / VBulitin / etc temas predeterminados por ahí. Incluso muchos de los temas no por defecto son bastante los temas por defecto con los diferentes archivos de CSS. :)
Strong with this one, the sudo is.

Publicar Información

  • Total de mensajes en este tema: 11 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 129 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC