lo siento si pregunto mucho pero es que soy bastante nuevo en esto, la pregunta es el titulo
entre Desarrolladores
Recibe ayuda de expertos
Registrate y pregunta
Es gratis y fácil
Recibe respuestas
Respuestas, votos y comentarios
Vota y selecciona respuestas
Recibe puntos, vota y da la solución
Pregunta
que significa filtrar las variables y que ventajas genera?
- preguntó
- Web
- 452 Vistas
- 1 Respuestas
- solucionada
1 Respuesta
Filtrar una variable http es remover caracteres indeseados de nuestros campos para prevenir acciones mal intencionadas de terceros, en el desarrollo web hay que ser muy desconfiado con tus usuarios.
supongamos que tienes un campo
<input name="usuario" type="text">
<input type="submit">
y en tu servidor tienes:
$usuario = $_POST['usuario'];
mysql_query("SELECT FROM usuarios WHERE usuario = '$usuario'");
ahora bien, un usuario mal intencionado puede enviar esto como nombre de usuario:
white' OR 1 = '1
en la consulta pasaria esto:
SELECT id FROM usuarios WHERE usuario='white' OR 1 = '1'
dandole la habilidad al usuario de poder de saltarse la comprobacion de usuario y ejecutar consultas libremente.
como prevenir esto?
existen varias funciones en php, normalmente para cadenas de texto se usa htmlspecialchars
, htmlentities
, mysql_real_escape_string
, etc
$usuario = htmlspecialchars($_POST['usuario'], ENT_QUOTES);
mysql_query("SELECT FROM usuarios WHERE usuario = '$usuario'");
con este código la consulta se ejecuta de esta manera:
SELECT id FROM usuarios WHERE usuario='white' OR '1'='1'
si el campo fuese un integro, se puede hacer cast a la variable:
$edad = (int) $_GET['edad'];
asi saneamos nuestros campos.
NOTA: htmlspecialchars
debe tener como segundo parametro ENT_QUOTES
para escapar comillas simples.
En mysqli
podemos crear sentencias preparadas lo que nos permite preparar nuestras variables de acuerdo al tipo definido.
Tambien ademas de sanear es bueno validar nuestros campos antes de cualquier cosa. php brinda funciones para ello, como con la función filter_var
$email = htmlspecialchars($_POST['email'], ENT_QUOTES);
$es_valido = filter_var($email, FILTER_VALIDATE_EMAIL);
if( $es_valido )
{
echo ' si es valido ';
}
funciones relacionadas en el tema:
php.net - funcion filter_var
php.net - function htmlspecialchars
php.net - Sentencias preparadas en mysqli
Validar y sanear datos en php ( filter_var )
Links de interes:
Ataques de inyección SQL: qué son y cómo protegerse
GenBeta dev - Evita los ataques de inyección de SQL
---
Por favor, accede o regístrate para añadir un comentario.
Por favor, accede o regístrate para responder a esta pregunta.
En el blog
-
- 691164
- 1
- Jul 5, 2015
Sin Respuesta
-
- 179
- 0
- Oct 18
-
- 188
- 0
- Jul 9
-
- 587
- 1
- Mar 19
-
- 462
- 2
- Feb 26
-
- 5072
- 0
- Nov 7, 2023
-
- 494
- 0
- Sep 19, 2023
-
- 502
- 0
- Ago 21, 2023
-
- 658
- 0
- May 14, 2023
- ver todas
Preguntas relacionadas
- Hola como puedo guardar en variables los datos que me llegan desde ajax.
- Como hacer variables dinamicas que contengan el valor post?
- Utilizar variables PHP en templates para emails TPL
- Cómo pasar variables de JQuery a PHP ?
- Cuales son las alternativas de Hacer variables amigables y cual es la mas recomendad.(.htaccess y enrutador en php)
Actividad Reciente
mchojrin respondió Dic 9
Ayuda , necesito mostrar datos creados solo por el…alyvrs preguntó Oct 19
Ayuda , necesito mostrar datos creados solo por el…ManHol preguntó Jul 9
pasar un archivo de excel a csv en pythonArtEze respondió Abr 24
Alguien sabe, no me ignorenArtEze seleccionó una respuesta Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze preguntó Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió Abr 24
No me deja instalar OracleArtEze respondió Abr 24
Formulario que guarde los datos de un jsonArtEze comentó Abr 24
Script /boot/ scraping
Ultimas Preguntas
Preguntas relacionadas
- Hola como puedo guardar en variables los datos que me llegan desde ajax.
- Como hacer variables dinamicas que contengan el valor post?
- Utilizar variables PHP en templates para emails TPL
- Cómo pasar variables de JQuery a PHP ?
- Cuales son las alternativas de Hacer variables amigables y cual es la mas recomendad.(.htaccess y enrutador en php)
Usuarios Top
- Leonardo-Tadei
- 227320 Puntos
- Peter
- 150480 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos