Artículo
|
Filtrar números y cadenas en PHP |
Para asegurarnos cierta tranquilidad a la hora de que los usuarios introduzcan datos por formularios utilizando PHP, es necesario verificar que los datos que introduzcan es exactamente el tipo de datos que queremos que metan, y no puedan meter otros datos que nos puedan hacer daño a nuestra aplicación.
Para verificar los datos, si utilizas un framework como puede ser Zend Framework, esta dispone de métodos que nos facilitan estas acciones, pero si no utilizas ningún framework, entonces debes de utilizar otros mecanismos.
Validad números
Para asegurarnos de que lo que se ponga en un campo de entrada solo sean números, podemos utilizar la siguiente expresión regular, que nos permitirá eliminar todos los caracteres que no sean números de la cadena. Lo que si permitirá será la entrada de números negativos.
Eliminar o mostrar tags HTML
Si quieres eliminar todos los tags de HTML de la cadena, puedes utilizar la función strip_tags
Sin embargo, si quieres que se muestren etiquetas html pero que no afecten a nada, entonces lo que debes de hacer es utilizar es la función htmlspecialchars
Filtrando cadenas MySQL
Para filtrar cadenas antes de ser enviadas a consultas MySQL, se puede utilizar la función mysql_real_escape_string . De esta forma nos evitamos problemas por injección de código.
Utilizar filter_input
Si utilizas $_GET['id'] puedes utilizar esta alternativa y de paso filtrar valores al mismo tiempo
Tú también puedes utilizar INPUT_POST, INPUT_COOKIE, INPUT_SERVER, or INPUT_ENV
Si utilizas algún otro método para validar datos, te invitamos desde aquí a que lo compartas con nosotros.
Vía: Readwriteweb
Para verificar los datos, si utilizas un framework como puede ser Zend Framework, esta dispone de métodos que nos facilitan estas acciones, pero si no utilizas ningún framework, entonces debes de utilizar otros mecanismos.
Validad números
Para asegurarnos de que lo que se ponga en un campo de entrada solo sean números, podemos utilizar la siguiente expresión regular, que nos permitirá eliminar todos los caracteres que no sean números de la cadena. Lo que si permitirá será la entrada de números negativos.
$output = preg_replace("/[^0-9-.]/", "", $data);
Eliminar o mostrar tags HTML
Si quieres eliminar todos los tags de HTML de la cadena, puedes utilizar la función strip_tags
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>'; echo strip_tags($text);
Sin embargo, si quieres que se muestren etiquetas html pero que no afecten a nada, entonces lo que debes de hacer es utilizar es la función htmlspecialchars
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
Filtrando cadenas MySQL
Para filtrar cadenas antes de ser enviadas a consultas MySQL, se puede utilizar la función mysql_real_escape_string . De esta forma nos evitamos problemas por injección de código.
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
Utilizar filter_input
Si utilizas $_GET['id'] puedes utilizar esta alternativa y de paso filtrar valores al mismo tiempo
$itemId = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_SPECIAL_CHARS);
Tú también puedes utilizar INPUT_POST, INPUT_COOKIE, INPUT_SERVER, or INPUT_ENV
Si utilizas algún otro método para validar datos, te invitamos desde aquí a que lo compartas con nosotros.
Vía: Readwriteweb
![]() |
Publicado por: angel carrero |
|
|
Comentarios
Últimas noticias
· factura
Últimos artículos














































