为什么codeigniter和其他mvc框架不允许使用get变量。安全吗?他们是否认为过度使用和滥用?
我认为post和get都有自己的位置,应该用于他们的预期用途?
有人可以为我提供解释吗?
答案 0 :(得分:3)
以下是CI的答案:
销毁全局GET数组。由于CodeIgniter不使用GET 字符串,没有理由允许 它。
在register_globals打开的情况下销毁所有全局变量。
过滤POST / COOKIE数组键,只允许使用字母数字(和a 其他一些人物。
来源:http://codeigniter.com/user_guide/libraries/input.html
他们很可能出于安全原因(尽管不确定)替换它,或者支持他们的输入库,这样可以防止XSS攻击等。
您仍然可以通过输入库访问GET和POST数据,如下所示:
$var = $this->input->post('varname', true);
$var = $this->input->get('varname', true);
true
参数是您是否要对变量/数据运行XSS过滤器函数。