Из этого отличного "UTF-8 весь путь через" я прочитал об этом:
К сожалению, вы должны проверить, что каждая поданная строка действительна UTF-8, прежде чем пытаться его сохранить или использовать в любом месте. РНР mb_check_encoding() делает трюк, но вы должны использовать его религиозно. На самом деле это не так, как вредоносные клиенты может отправлять данные в любую кодировку, которую они хотят, и я не нашел трюк, чтобы заставить PHP сделать это для вас надежно.
Теперь я все еще изучаю причуды кодирования, и я хотел бы точно знать, что могут делать вредоносные клиенты, чтобы злоупотреблять кодировкой. Что можно достичь? Может ли кто-нибудь привести пример? Скажем, я сохраняю вход пользователя в базу данных MySQL или отправляю его по электронной почте, как пользователь может нанести вред, если я не использую функции mb_check_encoding
?