【问题标题】:Why codeigniter etc disallow get variables为什么codeigniter等不允许获取变量
【发布时间】:2010-10-09 21:39:37
【问题描述】:

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

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

谁能给我解释一下?

【问题讨论】:

  • “不允许使用 get 变量”是什么意思?你的意思是$_GET 数组吗?

标签: php http codeigniter


【解决方案1】:

更新:

这是来自 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 过滤功能。

【讨论】:

    猜你喜欢
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多