Salve a tutti, ho una pagina di iscrizione al mio sito, dopo l'invio del form eseguo dei controlli sulle stringe confrontando la stringa con un array di codici ASCII cosi fatto:
Codice PHP:
$cs = array("34;", "35;", "36;", "37;", "38;", "39;", "40;", "41;", "42;", "43;", "46;", "47;", "60;", "61;", "62;", "64;", "91;", "92;", "93;", "94;", "95;", "96;", "123;", "124;", "125;", "126;", "128;", "163;", "169;", "171;", "174;", "187;");
se all'interno della stringa trovo uno dei caratteri ascii dell'array $cs mostro messaggio di errore e mostro il carattere incriminato.
Ora pero' alcuni utenti che provano ad iscriversi mi dicono che ricevono il messaggio di errore (il carattere proibito mostrato a video è / ) pur non avendo digitato tale carattere (appunto / )
Sta di fatto che molti altri si iscrivono senza nessun problema... ma effettivamente ho notato che la pagina di iscrizione riceve troppe visite in proporzione a quanti utenti si sono iscritti... ergo effettivamente puo' esserci qualcosa che non va!
ma cosa?
Googlando un po ho trovato un sito dove si afferma che "Inizialmente l'HTML usava solo l'ASCII standard fra 31 e 127 per evitare problemi di comunicazione fra sistemi diversi. Infatti, i valori fra 128 e 255 (quelli dell'intero byte di 8 bit, detti sempre ASCII, o meglio ASCII esteso) variano sia fra le diverse lingue occidentali (poi codificate in ISO 8859-1...n) sia nelle diverse macchine."
Avendo io nel mio array anche valori oltre il 127 ho pensato che l'inghippo stia li, che ne pensate?