【发布时间】:2010-10-09 21:39:37
【问题描述】:
为什么 codeigniter 和其他 mvc 框架不允许使用 get 变量。是安全吗?他们是否认为 get 被过度使用和滥用?
我认为 post 和 get 都有自己的位置,应该用于它们的预期用途?
谁能给我解释一下?
【问题讨论】:
-
“不允许使用 get 变量”是什么意思?你的意思是
$_GET数组吗?
标签: php http codeigniter
为什么 codeigniter 和其他 mvc 框架不允许使用 get 变量。是安全吗?他们是否认为 get 被过度使用和滥用?
我认为 post 和 get 都有自己的位置,应该用于它们的预期用途?
谁能给我解释一下?
【问题讨论】:
$_GET 数组吗?
标签: php http codeigniter
这是来自 CI 的答案:
销毁全局 GET 数组。由于 CodeIgniter 不使用 GET 字符串,没有理由允许 它。
在 register_globals 开启时销毁所有全局变量。
过滤 POST/COOKIE 数组键,只允许字母数字(和 其他几个)字符。
来源: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 过滤功能。
【讨论】: