Stiamo permettendo agli utenti di cercare un database da un singolo input di testo e sto riscontrando delle difficoltà nel filtrare alcune stringhe fornite dall'utente.Convalida dell'input dell'utente o
Ad esempio, se l'utente invia:
��������� lcd SONY
(noti la 's?) Ho bisogno di cancellare la ricerca.
ho includono le Base64 versione della stringa sopra avvolto codificati in modo che la sua facile esecuzione:
print(base64_decode("1MfLxc/RwdPHIGxjZCBTT05Z"));
ho ignorato tali input prima, ma ora (non so perché) appena realizzato la query database mysql sta prendendo quasi sempre per l'esecuzione quindi questa è ora in alta priorità.
Un altro esempio per sottolineare che stiamo usando UTF-8 e mb_detect_encoding non aiuta molto:
print(base64_decode("zqDOm8+Fzr3PhM63z4HOuc6/IM+Bzr/Phc+HzyU="));
ΠΛυντηριο ρουχ�%
Quindi:
- come posso rilevare/filtrare questi ingressi?
- come viene generato questo input?
Rifiutare questi ingressi è la cosa sbagliata da fare. È necessario capire perché influenzano negativamente le prestazioni in primo luogo. – SLaks
Questa è la prima linea di difesa. Al momento sono bloccato, quindi mi occuperò del problema delle prestazioni del database fino a quando non avrò un'idea brillante. – zaf
Stai dicendo che l'utente sta effettivamente inserendo manualmente il carattere sostitutivo? http://www.fileformat.info/info/unicode/char/FFFD/index.htm –