时间:2021-07-01 10:21:17 帮助过:2人阅读
我用的是zend framework框架 在用get提交参数的时候 如果数据士标签 类似这样的标签 接收到的数据就是空的 在控制器里用$_GET也接收不到 但是用$_REQUEST是可以接收到的 并且还有个问题是在主入口文件用$_GET是可以接收到的 就有点搞不懂了 看zend源代码半天了也找不到问题在哪 求助呀
我用的是zend framework框架 在用get提交参数的时候 如果数据士标签 类似这样的标签 接收到的数据就是空的 在控制器里用$_GET也接收不到 但是用$_REQUEST是可以接收到的 并且还有个问题是在主入口文件用$_GET是可以接收到的 就有点搞不懂了 看zend源代码半天了也找不到问题在哪 求助呀
呵呵,把堆栈打印出来看看就知道了啊。不知道你用的ZF2还是1,ZF2我没用过,如果是1出现这种情况说明不是你自己部署的项目。
如果是我的话,可能用plugin或者是在控制器之上封装一层(指
class Zend_Controller_Action;
class My_Project_Action extend Zend_Controller_Action;
class IndexController extend My_Project_Action
)
然后在My_Project_Action里面声明个init方法,调用过滤器把_GET和_POST的值都过滤一次(比如trim一下),这样,你在indexController里面拿到的值其实都是被动过手脚的了。
两种方式解决
1.找到这个地方,改掉,不推荐,因为这个设置的用意是防止有人通过get把 传进来(虽然这样治标不治本,但是随便改掉也不好)
2.把先做base64编码再提交
补充:我没用过zf2,如果是zf2在框架源码中内置了此类安全设置,那么你应该查一下文档,估计在配置文件中可以关闭这个特性。