ohlà... cominciamo ad esserci

azz... credevo ci avresti messo una vita... manco 24 ore

M.
PS: ..non sarà il tuo caso... ma visto che ci siamo...mi è venuta l'ispirazione da qs:
----------------------------------------------------------------------------------------
guai ad inserire simboli e virgolette che il programma si arrabbia!
-----------------------------------------------------------------------------------------
quando si scrivo applicazioni web c'è sempre il problema della gestione degli errori... cosa è meglio?
Semplice, è meglio usare il cervello.
Devi far andare d'accordo due cose in contrasto: tu non sai a chi stai dando questa informazione di errore quindi se sarà un user è meglio che sia più esaustiva possibile fino a guidarlo ad una soluzione, se è un malintenzionato rischi di dargli info preziose.
L'esempio topico è la gestione degli errori di mysql che se non è correttamente gestita dallo sviluppatore fa macelli.
Si chiamano blind sql injection, ovvero "cieche" ... non sai ma la fai e la correggi proprio grazie alle risposte del db.
Grazie ad una vulnerabilità o cattivo filtro della variabile io posso appendera alla query la mia che sarà qualcosa del tipo: ... 'e anche il tal valore dalla colonna 3'....
lui mi risponderà che non esiste la colonna 3 nella tabella pippo.
Lo sviluppatore ha un'info precisa e molto utile... l'hacker sa che nel db esiste una tabella pippo, che quella query lavora su una tabella pippo, e che quella tabella non ha 3 colonne (in mysql nn è necessario chiamarle per nome ma anche per posizione).
Così per assurdo può essere nella tua estensione, se io inserisco un trattino e tu mi dici che non posso inserire un trattino mi stai dando poche info ma cmq preziose:
- c'è un filtro, ed è quello che dovrò evadere e per farlo dovrò scoprire come è fatto.
- è quasi sicuramente una regex poichè hai fatto un riconoscimento abbastanza preciso
- è una regex che filtra i trattini
se insisto riesco a scoprire cosa mi è vietato... il resto mi è permesso. Poi voglio capire se il trattino - viene riconosciuto o anche le sue varie codifiche... ascii to hex diventa 2d ... oi oi... lettere e numeri... e in base 64 è LQ==, se per caso quel testo viene eseguito prima del db... potrebbe essere un xss
... è un esempio un po' tirato per i capelli ma volevo più che altro farti capire come vengono viste "dall'altra parte" le tue buone intenzioni
In questo caso sarebbe meglio "valutare" il tipo di errore e restituire la risposta appropriata che potrebbe spaziare da "nulla", semplice redirect alla pagina principale del componente, a "la stringa contiene caratteri non validi, se l'errore persiste avvisare pippo@topolinodotnet"