Ver Mensaje Individual
  #20 (permalink)  
Antiguo 17/02/2006, 14:13
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Por mi parte veo algunos detallitos:

Deberías usar los arrays superglobales: $_POST .. $_FILES .. etc en lugar de los "no superglobales" $HTTP_XXX_XXX .. (es sólo cambiar el nombre .. y ganas en portabilidad del código e independencia de cierta configuración de PHP: register_globals .. dará igual si lo usas a ON o a OFF).

El tema de la validación del tipo de archivo (MIME) me agrada más la opción por usar un array y la función in_array():

Código PHP:
<? 
$mime_archivo
=$_FILES['archivo']['type']; 
$mimes_aceptados=array('image/jpeg','image/gif','image/png'); 
if (!
in_array($mime_archivo,$mimes_aceptados)){ 
   die (
"Tipo archivo no aceptado"); 
}
Por qué usas conexiones persistentes?:
@ $db = mysql_pconnect(...);

Si no está justificado .. es un gasto de consumos extra .. Las conexiones persistentes no son ilimitadas .. Ten cuidado! .. usa simplemente: mysql_connect() (conexiones no persistentes).


Esto es útil cuando no usas "magic_quote_gpc" a ON (como suele estar PHP por defecto):

$artnombre = addslashes($artnombre);
$artbio = addslashes($artbio);
$userfile_name = addslashes($userfile_name);

es decir .. añadir o "escapar" caracteres que podrían ocasionar problemas en SQL (inyección y demás).

Mejor usar la función:

mysql_real_escape_string()
http://www.php.net/mysql_real_escape_string

Revisa esta función .. tienes ejemplos para "asegurar" y protegerte de "inyección SQL" ..

Pregunta (como para ir mejorando el sistema):
¿Que haces si el registro no se pudo crear en tu BBDD? .. el archivo seguiría en tu servidor (por qué subió correctamente) .. Sería bueno en caso de error de conexión a tu BBDD . .de ejecución de tu sentencia SQL .. etc .. ahí eliminar el archivo (unlink()) o bien tener alguna otra forma de identificar el archivo (para evitarte volver a realizar el proceso de "upload" y poder asociarlo al registro que se tenga que crear).

Un saludo,