la regla de oro para la seguridad es VALIDAR TODO.... no deben entrar nada sin pasar antes por algun filtro... pero las recomendaciones que das alli stan muy buenas...
Tambien es bueno recordar las expresiones regulares, es una practica que yo he adoptado ultimamente... parti de un concepto simple... la mayoria de los datos que entran a las web deben ser alfabeticos o numericos... es muy pero muy poco probable que sea alfanumerico o que requiera caracteres especiales... pero eso se filtra de otro modo y si tu web no tiene digamos que los usuarios no administradores, agregen contenido o cosas por el estilo este problema no se presenta mucho... pero bueno como la mayoria de los datos son alfabeticos o numericos pues yo uso digamos 3 capas de seguridad.. podria llamarse asi...
Capa 1: Validacion con ajax... como he dicho la mayoria de los datos se pueden validad con ajax en primera instacia, scripts para validar automaticamente hay miles en la web..
Capa 2: Validacion desde el php. Existiran casos en los que la validacion del ajax no sea suficiente, por que facilmente se puede bloquear el javascript y nuestras web quedarian totalmente expuestas...
Solo Numeros, (por lo general lo uso para validar id de items, o cosas por el estilo.con funciones sencillas como
is_numeric() o con su equivalente en expresiones regulares
function soloNumeros( $str ){
return empty( $str ) ? false : eregi_replace("[^0-9]","", $str );
}
Uno muy similar es para validar caracteres alfabeticos:
$string = "userNaME4234432";
if (preg_match('/^[a-z]{1,30}$/i', $string)) {
echo "example 1 successful.";
}
Si desean saber un poco mas de expresiones regulares...
http://www.carlosleopoldo.com/post/8-expresiones-regulares-para-php-muy-utiles/http://www.phpbuilder.com/manual2/manual/es/ref.regex.phpy sobre todo
www.google.co.ve (aqui consiguen todo

)
Capa 3: Validacion en la base de datos, (si y solo si trabaj con pgsql), es la capa final y alli al igual que en php se puede validar todo lo que entra.. es nuestra capa final de seguridad.. si alguien vuela las 3 pues tiene derecho a llevarse todo... jajaja..
Bueno pero estas son medidas basicas para sistemas sencillos, existen muchas formas de asegurara nuestro sistema, siempre recordando que ningun sistema es 100% seguro si alguien lo quiere hackear lo va a hacer solo que le pondremos las cosas mas dificiles...