specie sul "Dovresti fare l'escape dei caratteri" come se filter_var non lo facesse.
Te lo confermo, filter_var non lo fa, non è il suo scopo: https://www.google.it/webhp?sourceid...in+programming

A dirla tutto per verificare il campo email basta verificare l'esistenza MX DNS (cosa di due righe in PHP) così sei sicuro che non ti basta inserire: cacca@cacca.it per superare il controllo, quindi lasciamo stare escape e check caratteri ti basta mettere quella condizione.
No, è insufficiente. Validare una email è una delle cose più difficili da fare. Email come "Abc\@def"@example.com sono valide e potrebbero essere usate. Volete proteggervi da sql injection? Usate le stramaledettissime prepared statements: http://stackoverflow.com/questions/6...jection-in-php
Questo ovviamente vale anche per te, visto che è un problema presente anche nel tuo portfolio: http://www.marcoingraiti.it/portfoli...()),9%20--%20#