PHP curl POST 提交特殊字符&跳过的问题记录

Mr.Wu 2,013 0

之前开发的 FOFA 搜索小工具,开发完了测试能查数据就没管了,今天自己用的时候突然发现存在一个BUG

我输入了2个搜索条件,但是搜索出来的结果却是一堆,这是不可能的事情,于是一番排查

打印查询变量发现语法遇到 & 符号后就直接跳过,忽略了后面,这就导致查询其实一直是单条件,第一个条件在查询,难怪结果那么多。。。

本来我以为把 POST 接受到的语法直接 URL 编码即可,结果发现并没有任何作用,不明白是什么情况

百度查了半天资料也是无果,后面自己浏览器 F12 慢慢测试发现 前端如果直接提交 %26 也就是URL编码后的 & 符号,那就没问题的。。。

既然如此,后端无法URL编码,那就前端,所以找到 js AJAX 提交按钮的代码,添加一个替换即可:

添加以后再测试,发现完美解决这个问题,

写个文章记录一下,做个笔记。

最后,为什么 urlencode($_POST['']) 无法将 & 编码为 %26 呢?

打赏
发表评论 取消回复
表情 图片 链接 代码

分享
微信
微博
QQ