为什么codeigniter等不允许获取变量

时间:2010-10-09 21:39:38

标签: php http codeigniter

为什么codeigniter和其他mvc框架不允许使用get变量。安全吗?他们是否认为过度使用和滥用?

我认为post和get都有自己的位置,应该用于他们的预期用途?

有人可以为我提供解释吗?

1 个答案:

答案 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过滤器函数。