从这个优秀的“ UTF-8 all way through ”问题中,我读到了这个:
不幸的是,在尝试存储或在任何地方使用它之前,您应该验证每个提交的字符串都是有效的 UTF-8。PHP 的 mb_check_encoding() 可以解决问题,但您必须虔诚地使用它。确实没有办法解决这个问题,因为恶意客户端 可以以他们想要的任何编码提交数据,而且我还没有找到让 PHP 可靠地为您执行此操作的技巧。
现在,我仍在学习编码的怪癖,我想确切地知道恶意客户端可以做什么来滥用编码。一个人能实现什么?有人可以举个例子吗?假设我将用户输入保存到 MySQL 数据库中,或者我通过电子邮件发送,如果我不使用该mb_check_encoding
功能,用户怎么会造成伤害?