rulu ruru

postUn rapido ejemplo de un script seguro en PHP

August 26th, 2007

Filed under: PHP — admin @ 2:19 am

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!

Enlaces pagos


No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

You must be logged in to post a comment.

ruldrurd
Entries (RSS) and Comments (RSS)