php优秀框架codeigniter学习系列——CI_Input类学习
Posted Andrés
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php优秀框架codeigniter学习系列——CI_Input类学习相关的知识,希望对你有一定的参考价值。
这篇文章主要介绍CI核心框架工具类CI_Input。
根据CI文档自己的定义,该类用来:
- 提前处理全局变量,以保证安全;
- 提供一些帮助函数用来处理输入数据。
以下选取类中的重点方法进行说明。
__construct()
在构造函数,根据定义,用来决定是否开启全局的XSS处理和是否允许$_GET数组。
调用函数$this->_sanitize_globals();
来清理,$_GET,$_POST,$COOKIE,$_SERVER[\'php_SELF\']中的数据。主要用来检测键名和键值是否存在非法字符,以防止XSS攻击。
同时会调取安全类CI_Security来进行CRSF的防御。
// CSRF Protection check
if ($this->_enable_csrf === TRUE && ! is_cli())
{
$this->security->csrf_verify();
}
读取输入变量
主要的方法有:
- $this->input->post()
- $this->input->get()
- $this->input->cookie()
- $this->input->server()
同时你也可以利用php://input
或者$this->input->raw_input_stream;
来获取原始的数据。
其它工具函数
例如:
- is_cli_request()
- is_ajax_request()
- get_request_header()
等等。
以上是关于php优秀框架codeigniter学习系列——CI_Input类学习的主要内容,如果未能解决你的问题,请参考以下文章
php优秀框架codeigniter学习系列——index.php
php优秀框架codeigniter学习系列——CI_Lang类学习