加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

什么是从我的PHP网站过滤无效的utf8?

发布时间:2020-12-13 22:32:26 所属栏目:PHP教程 来源:网络整理
导读:我的网站完全转换为使用utf-8,( mysql,http标头,PHP mb_string等). 我做了一些渗透测试,并试图将无效的utf POST到其中一个脚本(使用BurpSuite). 但是当我发布无效的utf时,只是十六进制转储$_POST var,我看到无效的utf序列在我尝试使用mb_detect_encoding进行
我的网站完全转换为使用utf-8,( mysql,http标头,PHP mb_string等).

我做了一些渗透测试,并试图将无效的utf POST到其中一个脚本(使用BurpSuite).

但是当我发布无效的utf时,只是十六进制转储$_POST var,我看到无效的utf序列在我尝试使用mb_detect_encoding进行验证之前已经被清理过了.

这听起来对我来说是个好消息,但我想知道哪一层正在改变POST数据?

它是Content-Type HTTP Header的副作用,也许我的网络服务器正在这样做(lighttpd).或者,当填充$_POST时,它本身就是PHP吗?

我希望看到无效的utf hexdumped,让我自己清理它.

解决方法

PHP本身不会过滤POST数据,它只是将其作为二进制数据处理,它始终是“有效的”(它只是数据,无需验证).

因此,我怀疑你的网络服务器有一些模块正在改变数据,或者有一些PHP扩展正在过滤数据.

检查您的网络服务器是否安装了Web防火墙,以及您使用PHP加载的扩展列表以及是否存在与输入过滤相关的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读