今天查看网站wap端页面的时候,发现列表页出不来了,报错没有request参数,很奇怪,以前没问题的怎么突然出现了这个问题
先排除了url本身的问题,从火狐里查看,参数正常发送了,可是服务器端就是收不到,var_dump($_SERVER)查看,发现参数没有到达php,于是怀疑是nginx是不是配置出了问题,考虑到近期没有动过nginx的配置,但是本着细心求证的原则,还是去认真查看了nginx的配置,经过检验,nginx的配置也没有问题,好怪异,到底是哪里的问题,会造成php获取不到get参数呢?
难道是服务器被黑了。。。阿里云的服务器,自己又做了强大的安全配置,得多NX的大神才能黑进来啊,并且php和nginx的配置和运行都没问题,应该不是,不管怎么说,决定看一下nginx的请求日志,发现,请求到达nginx的时候,参数已经被删掉了,这下傻眼了,不用说,应该是被劫持了!!!
想想还不对,在我大天朝享誉国际的都城北京这个天子脚下,谁敢犯如此大不敬之罪,在网络上明目张胆的肆意作乱*_*!
一时想不起来问题所在,不能一直搁置,互联网公司这种问题伤不起,赶紧请教大神:姜还是老的辣,在介绍完情况后,根据我的描述,老大立刻把问题定在能出现这种问题的本源上去——cdn!
恍然大悟,前段时间网站刚刚上了阿里云的cdn功能,在hosts中重新写解析,再测试,发现可以获取参数了,看来是阿里云的cdn,在用户请求url的过程中把“?”后面的参数部分给删除了,那这要怎么办,停止cdn不好,不停动态页面又有问题,两难啊。
阿里家的技术怎么说在国内技术界也是数一数二的,这种问题不可能没有解决办法的,于是赶紧登陆阿里云,认真仔细的研究阿里云的cdn功能,果然,阿里云cdn管理里面有一个过滤参数的功能,当时自己第一次使用cdn,迷迷糊糊不是很了解这个功能,就开启了这个功能,这个功能是开启后,cdn就主动把问号后面的参数部分删除了,添加特定过滤项后,再次去查看列表页,OK,完事大吉!
总结!由于自己对CDN的认识不足,开启了阿里云cdn功能里的参数过滤功能,造成请求动态页面的时候,cdn把动态参数删除了,从而动态页因为获取不到参数而报错,只怪自己学艺不精,见识浅薄。
送自己一句话——人生路上,学无止境