Programando un servicio web muy sencillo me he dado cuenta de que php hace algo muy raro. Puede ser el principio de un posible buffer overflow??? :S no se.. la verdad que nunca se me ha dado bien debuggear...
Os cuento:
en este código correspondiente a "fichero.php" recojo un parámetro get v e incluyo un "unarchivo.php" en el caso de que v sea igual a "2.0"
Código
<? if($version=='2.0'){ include('unarchivo.php'); } ?>
Al hacer la petición al fichero: http://localhost/fichero.php?v=2.0 todo va bien , se incluye correctamente "unarchivo.php"
Al hacer la petición al fichero: http://localhost/fichero.php?v=2.1 todo va bien , no se incluye
En cambio al hacer la petición http://localhost/fichero.php?v=2.00 de igual manera se incluye :SS
Continuando haciendo pruebas si se hace una petición http://localhost/fichero.php?v=2.001 no se incluye.
Pero lo mas heavy de esto es que buscando los límites de esto haciendo la petición con 15 ceros trás el punto http://localhost/fichero.php?v=2.0000000000000001125
Se incluye admitiendo cualquier número detrás!!! (con letras no tira).
Alguien sabe que puede significar esto????
Gracias y Saludos!!