Si la función que usas para parsesr es segura, hacer eso solo parseas 1 vez por caracter.
Yo haría un bucle de parsear mientras el resultado del parseo tenga algo que parsear. Si solo parseas una vez, en ciertos casos se pueden meter codificaciones dobles.
También ten cuidado con palabras clave, no solo con caracteres. Y también en donde escribes el resultado.
De todas formas hay tantos tipos de inyecciones y vulns... Nadie te va a dar la solucción a todas ellas.
Lo mejor es que saques una versión alfa de tu web con datos falsos de cuentas, etc. Y establezcas un programa atractivo de bughunting para que usuarios random te reporten los bugs en tu aplicación web antes de hacer deployment. En vez de pagar, puedes añadir un easteregg, funcionalidades exclusivas, más opciones de configuración, etc. Con el objetivo de premiar y agradecer a quienes reporten vulnerabilidades en tu sitio.
Después anúncialo por varios sitios.
Yo haría algo tipo:
example.com/alfa/bughunting.html
Bievenido blablabla
...
...
Recompensas:
Fallos muy graves:
Mención en - example.com/honor.html
Medalla diamante en - example.com/Miperfil.html
Funcionalidades extra en - example.com/Miperfil.html
...
Fallos graves:
...
Fallos a buscar:
Todos los fallos de seguridad en aplicación.
Comportamientos extraños o indevidos.
...
Cómo buscar:
No utilizar herramientas o realizar tareas que consuman muchos recursos del servidor o banda ancha.
...
Reporta los fallos a:
seguridad@example.comSugerencias a:
sugerencias@example.comTambién puedes testear tú la applicación.
En dudas generales hay un post llamado libros para principiantes con libros de hacking y seguridad web que puedes usar como referencia.
Yo de vez en cuando voy leyendo libros y cada vez me encuentro un montón de fallos de seguridad que no tenía ni la menor idea de que podían suceder.
Y más de lo mismo para el servidor o las redes.