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
- 333 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
-
- 406007
- 1
- Jul 5, 2015
Preguntas sin respuesta
-
- 24
- 0
- hace 1 día
-
- 247
- 0
- Feb 18
-
- 195
- 0
- Nov 23, 2022
-
- 115
- 0
- Nov 17, 2022
-
- 130
- 0
- Nov 4, 2022
-
- 188
- 0
- Nov 1, 2022
-
- 155
- 0
- Oct 27, 2022
-
- 154
- 0
- Oct 26, 2022
- ver todas las 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)
Actividad Reciente
Roosevelt preguntó hace 1 día
Servicios AWS para red socialelporfirio respondió Feb 22
Construir URL para actualizar contraseña después d…hector2023 preguntó Feb 18
hola alguien sabe como instalar un gui qt creator …elena preguntó Feb 14
Construir URL para actualizar contraseña después d…seniorit respondió Ene 18
¿Como poner privilegio o niveles a los usuarios en…seniorit respondió Ene 10
Como muestro un objeto test(preguntas-respuestas) …yoelrodguez respondió Dic 2, 2022
servidor local xamp disponibile fuera de lanmchojrin respondió Nov 25, 2022
servidor local xamp disponibile fuera de lanPeter comentó Nov 23, 2022
Formulario que guarde los datos de un jsondiana15 comentó Nov 23, 2022
Formulario que guarde los datos de un json
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
- 150420 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos