La SQL Injection, es uno de los errores más común, hay hasta webs del gobierno con este simple fallo, no soy defacer, va en contra de mis principios eticos, pero es algo básico...
SELECT * FROM
El fallo de este codigo es el "*" que por esa alguien puede llegar a joder tu web...
La solución sería cambiarlo por:
SELECT cualquiercosa FROM
Si quitamos la * y lo sustimos por un nombre mas concreto el bug quedaría corregido.
Al igual q se puede utilizar esto:
<?php
include "config.inc.php";
include "funcionesdb.inc.php";
//CONECTAR A LA BASE DE DATOS
$conexion=conexion($servidor,$usuario,$contrasegna);
//SELECCIONAMOS UNA BB EN EL SERVIDOR
$bd=eligedb($basedatos,$conexion);
//VARIABLES
$login=$_POST["login"];
$pass=$_POST["pass"];
$email=$_POST["email"];
$nombre=$_POST["nombre"];
$apellidos=$_POST["apellidos"];
$sexo=$_POST["sexo"];
$dia=$_POST["dia"];
$mes=$_POST["mes"];
$anio=$_POST["anio"];
$municipio=$_POST["municipio"];
$provincia=$_POST["provincia"];
$pais=$_POST["pais"];
$fechaNacimiento=$anio."-".$mes."-".$dia;
//COMPROBAR NOMBRES
$login=strip_tags($login);
$pass=strip_tags($pass);
$email=strip_tags($email);
$nombre=strip_tags($nombre);
$apellidos=strip_tags($apellidos);
//INSERTAR DATOS
$sql=sprintf("insert into tblusuarios (usuario,pass,email,nombre,apellidos,sexo,fechaNacimiento,pais,provincia,municipio,tipoUsuario,fechaRegistro,avatar) values ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s',now(),'avatares/default.jpg')",
mysql_real_escape_string($login),mysql_real_escape_string($pass),mysql_real_escape_string($email),
mysql_real_escape_string($nombre),mysql_real_escape_string($apellidos),mysql_real_escape_string($sexo),
mysql_real_escape_string($fechaNacimiento),
mysql_real_escape_string($pais),mysql_real_escape_string($provincia),mysql_real_escape_string($municipio),1);
$resultado=mysql_query($sql,$conexion);
if ($resultado)
header('Location: registroCorrecto.php');
else
header('Location: registroFallido.php');
mysql_close($conexion);
?>
El codigo puede variar segun la costumbre de cada quien, lo importante es la logica del mismo, tiene principalmente tres funciones:
strip_tags <-- quita todas las etiquetas html
sprintf <-- que te compone una cadena
mysql_real_escape_string <-- Escapa caracteres especiales de una cadena para su uso en una sentencia SQL osea que te quita todas las ' o " etc etc.
osea, una te quita todas las etiquetas html, y las otras dos te quita todos los caracteres especiales para que no puedas ingectar SQL (poner cosas como 'a' or 1=1 ') que en una pagina no preparada te podria sacar todo el listado de usuarios con sus contraseñas y todo

ese codigo es sencillito y es para proteccion de sql injeccion y, si entran será por otro lado.
slds y buena iniciativa del tema, asi cada quien comparte sus metodos.