作者:心悦随鑫_196 | 来源:互联网 | 2023-08-29 14:39
php教程|php手册魔法,引用,magic,quotes,gpc,两天,接入,百php教程-php手册留言本asp源码,vscode在所有文件中查找,ubuntu修复模式,tom
php教程|php手册
魔法,引用,magic,quotes,gpc,两天,接入,百
php教程-php手册
留言本asp源码,vscode在所有文件中查找,ubuntu修复模式,tomcat 获取线程堆栈情况,sqlite 合理 表格,网页设计 字号,阿里云服务器 带宽,超级vip用户组购买插件,京东 java前端框架,院校招标爬虫,php截取汉字,seo培训内容,springboot行级锁,discuz修改网站标题,电商网页后台管理,数据查询网站模板,dede后台修改登录密码,phpcms v9 不能生成静态页面,公司人事管理系统课程设计,小程序 全民经纪人lzw
这两天接入百度SDK处理支付回调时碰到了签名通不过的情况,签名规则很简单,md5(transdata + appkey) 和 接受到的sign比较,请求方式为POST。 于是乎通过php://input记录下了原始数据和记录下了POST数据,通过日志查看到结果类似如下: //原始数据transdata=
通用的权限管理系统源码,vscode不显示代码错误,putty ubuntu保存,tomcat没保存日志,爬虫遇到databind,php 不解析html,seo推广软件丰盛易速达,php外卖网站有哪些,时尚博客模板lzw
电影资源网源码,vscode暂停下载,ubuntu多个网卡,tomcat启动了项目,网络爬虫 教案,php 正整数验证,网店的seo怎么去优化,pc站和手机网站,flash制作选择题网页模板下载lzw
这两天接入百度SDK处理支付回调时碰到了签名通不过的情况,签名规则很简单,md5(transdata + appkey) 和 接受到的sign比较,请求方式为POST。
于是乎通过php://input记录下了原始数据和记录下了POST数据,通过日志查看到结果类似如下:
//原始数据transdata={"exorderno":"2014031223","transid":"05514312314566","waresid":1,"appid":"1","feetype":0,"money":1,"count":1,"result":0,"transtype":0,"transtime":"2014-03-12 15:33:19","paytype":401}&sign=xxxx//post数据[transdata] => {\"exorderno\":\"2014031223452345234\",\"transid\":\"05514031215312314566\",\"waresid\":1,\"appid\":\"1\",\"feetype\":0,\"money\":1,\"count\":1,\"result\":0,\"transtype\":0,\"transtime\":\"2014-03-12 15:33:19\",\"paytype\":401}[sign] => xxxx
可见接收到post数据时引号自动转义了,而程序上未做到该操作,很容易就联想到服务器的魔法引用打开了,查看php版本
魔法引用5.4才删掉的,那极有可能这里打开在,查看配置文件确实如此,根据条件开关strip一下即可。
问题很快就解决了,但如果不熟悉这块可能还需要点时间,之前在CI的全局参数xss设置中有类似的地方,当进行全局处理之后对于这种接口、密钥可能会带来一些影响,所以全局参数过滤需要注意点。
矛盾可分为主要矛盾和次要矛盾,我们在程序设计中也常有这种思想,改最少的地方,过滤大部分参数,少数特殊处理。php中把它去掉了并不说明它没有存在的价值,有了魔法引用少了很多注入,但同时也让一些东西变得混乱,哪里需要转义,要怎么转义,通过什么方式来转义等等。客观看待,汲取中间有用的部分。
原文地址:魔法引用magic_quotes_gpc, 感谢原作者分享。