Bra miniguide!
Själv brukar jag betrakta all indata som ond.
För er som tänkt köra mysql_escape_string, kör istället mysql_real_escape_string ( http://se2.php.net/manual/en/function.mysql-real-escape-string.php ). Jag kan även tipsa om htmlentities ( http://se2.php.net/htmlentities ) istället för htmlspecialchars.
Ni kan läsa skillnaderna i manualen.
Man kan ju testa lite om ni har skyddat er mot XSS
alert(‘XSS hole! OMG!!11one’);