Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/05/2013, 08:53
Avatar de bulter
bulter
 
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 10 meses
Puntos: 20
Respuesta: Como Evitar SQL Injection

Lo que quiere decir patrick_ que nunca te debes de fiar al usurio, siempre tienes que asumir que lo que te pasa el user es malo para tu script.

ejemplo:
Formulario al usuario: ( le pides el nombre )
Código PHP:
Type your name here: <input type="text" name="data" /> 
Resultado: (le dices hola)
Código PHP:
echo "Hola " $_POST["data"]; 
Pues, el usuario debe de poner por ejemplo Pepito, pero igual puede poner

Código PHP:
<script>alert("xss injection");</script> 
( que por cierto es lo de menos :D ) Esto es una entrada mala para tu codigo y la tienes que evitar la, es decir filtrar y comprobar la entrada. En el caso de un nombre $_POST["data"] debe de contener solo letras y si hay apellidos espacios. En caso de edad $_POST["age"] debe de ser integer etc.

Código PHP:
$age = (int)$_POST["age"];
preg_match("/^[a-zA-Z-\s]*/"$_POST["name"], $name);

echo 
"Hi, " $name[0] . ". You are " $age " years old"
esto es un ejemplo. Otro seria:

Código PHP:
$age = (int)$_POST["age"];
$name htmlspecialchars(trim(addslashes($_POST["name"])));

echo 
"Hi, " $name[0] . ". You are " $age " years old"