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类学习

php优秀框架codeigniter学习系列——CI_Input类学习

PHP 框架哪个更好一点?CodeIgniter 怎么样

CI框架-学习笔记

CodeIgniter框架隐藏index.php