De quelle erreur parles tu ?
Si il s'agit de parse error, normalement tes yeux doivent les voir à l'ecran.
Pour les notices, cela peut être plus chiant à déceler, donc il te faut relire ton code et voir la où une notice pourrait se déclencher, et surtout pense que toutes les variables que tu utilises, il te faut tester si elles existent avant de les utiliser (surtout en ce qui concerne les super globales : GET / POST / SESSION / COOKIE).
Pour déceler ces erreurs, tu peux utiliser un handler d'erreur perso. en producation (avec la fonction
set_error_handler) : à chaque notice déclenchée, tu logues l'erreur en base de données.
En ce qui concerne les failles XSS, il y'a
ratproxy (un script python) qui peut t'aider à en trouver.
Sinon, pour tout ce qui est faille de sécurité (ou erreur de conception), seul ton cerveau pourra reéllement les voir. A toi de savoir ce que tu fais, et ce que ton application permet de faire. Le plus important, c'est de filtrer les données recues des visiteurs du site (ex : si un formulaire permet de saisir une date de naissance, assure toi de bien obtenir un truc ressemblant à une date avant de l'exploiter).
En résumé, la programmation, c'est un vrai métier : ce n'est pas parce qu'un code "fonctionne" qu'il est sans défaut, il peut très bien mal fonctionner si les conditions d'envrionnement changent, etc.