Мы позволяем пользователям выполнять поиск в базе данных по одному текстовому вводу, и у меня возникают трудности с фильтрацией некоторых пользовательских строк.
Например, если пользователь отправляет:
��������� lcd SONY
(Обратите внимание на?) Мне нужно отменить поиск.
Я включил версию вышеуказанной строки в кодировке base64, чтобы ее можно было легко запустить:
print(base64_decode("1MfLxc/RwdPHIGxjZCBTT05Z"));
Я игнорировал такие входные данные раньше, но теперь (не уверен почему) только что понял, что запрос к базе данных mysql выполняется почти вечно, поэтому теперь он имеет высокий приоритет.
Другой пример, который подчеркивает, что мы используем utf-8 и mb_detect_encoding, мало помогает:
print(base64_decode("zqDOm8+Fzr3PhM63z4HOuc6/IM+Bzr/Phc+HzyU="));
ΠΛυντηριο ρουχ�%
Итак:
- как я могу обнаружить / отфильтровать эти входы?
- как генерируется этот ввод?