Un rapido ejemplo de un script seguro en PHP
August 26th, 2007
Les voy a mostrar como quedaría un script chiquito pero seguro ante culquier inconveniente.
Pagina:
www.misitio.com/index.php?id=5&nombre=martin&nick=Tincho25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | include("config.php"); // Acá el link a la conexion correspondiente if (!ereg("^[0-9]+$",$_GET[id])) { header("location: index.php"); die; } #compruebo que sea númerico si no lo es, lo mando al index else { $sql = mysql_query("select id from table where id = $_GET[id]",conexion); if (mysql_num_rows($sql) == 0) { $error .= "El id no existe"; } } #como hasta ahora comprobó todo, vamos a seguir con el script if (!ereg("^[a-zA-Z]+$",$_GET[nombre])) { $error . = "Lo siento el nombre debe contener solo letras"; } if (!ereg("^[a-zA0-Z9]+$",$_GET[nick])) { $error .= "Lo siento el nick debe contener solo letras y numeros"; }if (!$error) { // por si las dudas nada más.. vamos a poner los campos con sus respectivos mysql real escape string ... $id = mysql_real_escape_string($_GET[id]); $nombre = mysql_real_escape_string($_GET[nombre]); $nick = mysql_real_escape_string($_GET[nick]); mysql_query("insert into table (nombre,nick,id_referido) values ('$nombre','$nick','$id')",conexion); if (mysql_error()) { echo "Ocurrió un error al intentar ingresar los datos en la base de datos"; } else { echo "Datos ingresados sastifactoriamente"; } } else { echo $error; } |
Este sistema sería basicamente así: El id es el id de otro usuario, entonces nos fijamos que este usuario exista en la base de datos para saber que el referido es correcto, si existe pasamos a las siguientes comprobaciones… si ninguna dá error insertamos los datos en la db, y el ID lo ponemos como el id_referido
Al no disponer de mucho tiempo el script se hizo muy por encima, pero espero se comprenda muy bien.
Saludos!




