|
楼主 |
发表于 2012-4-27 18:25:01
|
显示全部楼层
Input类,定义数据处理的操作
本帖最后由 actionbi 于 2012-4-27 18:27 编辑
class CI_Input {
var $ip_address = FALSE; //当前用户的ip
var $user_agent = FALSE; //当前用户的user_agent
var $_allow_get_array = TRUE; //是否允许使用$_GET,如果false,那么清除$_GET
var $_standardize_newlines = TRUE;
var $_enable_xss = FALSE; //是否对数据进行XSS过滤
var $_enable_csrf = FALSE;//是否进行csrf保护,如果为真 ,那么会设置一个token值
protected $headers = array(); //http头信息
public function __construct()
{
//从配置文件中获取是否进行全局允许使用$_GET XSS过滤和csrf保护
//清除globals变量,在开启了globals_register的情况下,相当于关闭了此配置。
开启一道 安全防护
}
function _fetch_from_array(&$array, $index = '', $xss_clean = FALSE){
//从$array获取值,如果设置了xss_clean 那么进行过滤}
function get($index = NULL, $xss_clean = FALSE){//获取过滤后的$_GET数组}
//获取过滤后的$_POST数组
function post($index = NULL, $xss_clean = FALSE){}
获取post数组,如果没有从get获取
function get_post($index = '', $xss_clean = FALSE){}
function cookie($index = '', $xss_clean = FALSE)
{//返回过滤后的cookie值}
function set_cookie($name = '', $value = '', $expire = '', $domain = '', $path = '/', $prefix = '', $secure = FALSE)
{//设置cookie,其中会从config.php中加载预设配置}
function server($index = '', $xss_clean = FALSE)
{//获取$_SERVER中的项目,可以决定是否经过xss过滤}
function ip_address()
{//获取当前用户的ip
}
function valid_ip($ip) {}//验证ip的正确性
function user_agent()
{ } //获得user_agent 一般user_agent为空的时候被认定为手机访问,或者curl的抓取,或则会蜘蛛抓取
function _sanitize_globals()
{//一道很强的安全屏障
Unset globals for securiy.
// This is effectively the same as register_globals = off
同时还会过滤 $_GET $_POST $_COOKIT 的键值和value值 }
function _clean_input_data($str)
{ // 过滤输入的值 }
function _clean_input_keys($str)
{ 过滤键值 }
public function request_headers($xss_clean = FALSE)
{ //设置$this->header}
public function get_request_header($index, $xss_clean = FALSE)
{ // 获取http 头信息,如果设置xxs_clean了则过滤}
public function is_ajax_request()
{ //判断是否为ajax请求}
public function is_cli_request()
{ //判断是否来自cli请求}
}
/* End of file Input.php */
/* Location: ./system/core/Input.php */ |
|