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
- 383 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
-
- 407130
- 1
- Jul 5, 2015
Sin Respuesta
-
- 165
- 0
- Mar 19
-
- 76
- 1
- Feb 26
-
- 189
- 0
- Ene 30
-
- 1093
- 0
- Nov 7, 2023
-
- 294
- 0
- Sep 19, 2023
-
- 302
- 0
- Ago 21, 2023
-
- 386
- 0
- May 14, 2023
-
- 355
- 0
- Abr 21, 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
Santiago2610 comentó Mar 23
Acualizar ChoiceField en djangoSantiago2610 preguntó Mar 19
Acualizar ChoiceField en djangogonzalss preguntó Feb 26
Script /boot/ scrapingParkJo preguntó Ene 30
No me deja instalar Oracleelporfirio respondió Ene 10
Actualizar la imagen con los datos devuelto en un …ovedg preguntó Dic 31, 2023
Actualizar la imagen con los datos devuelto en un …Ehdez preguntó Nov 7, 2023
Necesito en wordpress un pluging que me calcule la…pedrourday preguntó Sep 19, 2023
Alternativas a ThreeJS y BabylonJS?pedrourday preguntó Ago 21, 2023
¿Que tecnologias y lenguajes me recomiendan?Fabio respondió Jul 11, 2023
plugin de efecto circular 3d en imagenes
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
- 150460 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos