Foros del Web » Programando para Internet » PHP »

¿Es seguro mi código?

Estas en el tema de ¿Es seguro mi código? en el foro de PHP en Foros del Web. Hola compañeros llevo leyendo desde hace un mes pero al final no posteo xq acabo googleando y me va saliendo acabo de empezar con esto ...
  #1 (permalink)  
Antiguo 09/03/2011, 13:39
 
Fecha de Ingreso: febrero-2011
Mensajes: 27
Antigüedad: 13 años, 2 meses
Puntos: 1
¿Es seguro mi código?

Hola compañeros llevo leyendo desde hace un mes pero al final no posteo xq acabo googleando y me va saliendo acabo de empezar con esto de la web php,css,mysql...
y me encanta pero todavia soy un novato,
asi que os quiero enseñar esto a ver que os parece.
Me he informado primero he puesto en off todas las magic quotes, he leido sobre
mysql_escape_string o mysql_real_escape string al final si lo he entendido bien lo más seguro es hacer bind variables y creo que ya no se necesita el mysql escape_string.
Pongo el código para que lo vayais viendo:

Código:
$stm = mysqli_prepare($link, "INSERT INTO userspass VALUES (?, ?, ?, ?,?,?)");
$bind=mysqli_stmt_bind_param($stm, 'isssss',$num, $usersafe, $gen, $_POST['themail'], $d,$estado);
$m=mysqli_stmt_execute($stm);
if(!$m){die( 'stmt error: '.mysqli_stmt_error($stm) );}
La verdad es que es muy simple pero muy consistente si alguien ve algún error en el código que me lo diga, no uso ni adslashes ni stripslashes ni mysql escape string y magic quotes como ya dije.
Esto seria respecto al SQL injection pero también he leido que hay XSS
y funciones como htmlspecialchars htmlentities y
strip_tags.
Mi duda estaba en si usar htmlentities vs strip_tags al final he optado por ambas

Código:
$user=$_POST['us'];
$ustripped=strip_tags($user);
$usersafe= htmlentities($ustripped, ENT_QUOTES, "UTF-8");
Si alguien piensa que es incoherente, innecesario o débil porfavor digánmelo.


En principio no tengo pensado poner nada más salvo una función de input que me coga sólo caracteres asci por ej. del 32 al 126 (los imprimibles) pero soy novato en esto y aunque entiendo bastante rápido los conceptos creo que el tema de seguridad es muy delicado.
He leido que hacer el htmlentities es mejor a la salida del código pero no sé por si acaso yo lo hago a la entrada, a la salida supongo que tendré que decodificarlo aunque no sé qué se decodificará pues ya esta strip_tags.

Bueno gracias por todo y encantado de participar en el foro.
  #2 (permalink)  
Antiguo 10/03/2011, 05:44
 
Fecha de Ingreso: febrero-2011
Mensajes: 27
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: ¿Es seguro mi código?

Puse el post aqui por la mysql injection si no es el lugar apropiado cambienlo porfavor y
animense a responder! que no muerdo!
  #3 (permalink)  
Antiguo 10/03/2011, 05:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿Es seguro mi código?

Este foro es de SQL y Bases de Datos, no de programación sea de PHP o cualquier otro, y si te fijas, lo que es sql_injection es tema de programación....

Espera que trasladen el tema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bind, htmlentities, injection, mysql, strip_tags, xss
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:38.