Escribiendo código seguro – Manipulación de Tipos

PHP no soporta la definición explícita de tipos de datos, es decir que cada variable actúa de acuerdo a como es usada. Veamos un ejemplo:

Nota: Para los ejemplos vamos a usar la función var_dump, que nos muestra información acerca de una o mas variables.

PHP:

<?php
$cadena = "1";
$entero = $foo + 1;
var_dump($cadena, $entero);
?>
 

La salida será:

CODE:

string(1) "1" int(2)
 

Como vemos aunque hayamos definido la primera variable como "cadena", al sumarlo con un entero, nos dá otro entero. Para solucionar esto (aunque en realidad no es un problema tan grave), si es que queremos sumar la cadena con un entero, primero deberíamos convertir la cadena a un entero usando casting:

La solución

PHP:

<?php
$cadena = "1";
$entero = (int)$foo + 1;
var_dump((int)$cadena, $entero);
?>
 

La salida será:

CODE:

int(1) int(2)
 

Tratemos de tener siempre en cuenta los tipos de datos que estamos usando, alguien podría aprovechar uno de estos descuidos y podría enviar código malicioso concatenándolo con algún id númerico de nuestra base de datos por dar un ejemplo.

Mañana seguiremos con más 😉

Referencias

One Reply to “Escribiendo código seguro – Manipulación de Tipos”

Comments are closed.