繁体   English   中英

将字符串编码转换为UTF-8

[英]Casting string encoding to UTF-8

我正在构建自己的PHP框架,我希望每个请求将每个get和post变量转换为utf8(我不在当前项目中的任何地方使用其他编码)来阻止我的项目“无效编码攻击”或二进制攻击。 我在php.net中找到了utf8_encode,但它说只将ISO-8859-1转换为UTF8。 我想知道将所有内容都转换为utf8是一件大事,或者这与安全性无关(我希望尽可能减少安全漏洞)。

@ nicolay, mb_convert_encoding()是你的朋友。 看看这里

此外,如果您将所有网页的编码设置为UTF-8,则无需手动转换。 这种添加到每个页面的head部分:

<meta charset="utf-8" />

如果您的目标是保护自己免受无效编码攻击,那么您应该使用

mb_check_encoding()

在使用它们之前的GET / POST值。

但是你不需要转换任何东西 - 例如使用mb_convert_encoding():如果你使用适当的Content-Type和<meta>标签,指定你的页面是UTF-8,你可以保证普通用户只会向你发送UTF -8。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM