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

这篇文章主要介绍CI核心框架工具类CI_Security。
安全类包含了一些方法,用于安全的处理输入数据,帮助你建立一个安全的应用。如下选取类中的重点方法进行说明。php

__construct()


在构造函数中,取出配置中csrf_expire,csrf_token_name,csrf_cookie_name的值,赋给类成员变量。接着,设置$this->_csrf_hash的值。若是cookie中存在csrf_cookie_name变量,则将值赋给$this->_csrf_hash,若是不存在,则利用一个算法生成新的值。html

xss_clean($str, $is_image = FALSE)


该函数对用户的输入进行xss的过滤和 清理,若是$is_image设置为true,还能对图片进行过滤。细节我没有多看,固然它用到了不少过滤条件和方法。
若是你想过滤带有html标签的输入,能够使用 common.php中的html_escape()函数,参考算法

CSRF验证和防护


基本原理,是运用POST中的名为csrf_token_name表单值发送服务器,与cookie中的csrf_cookie_name(以前已经设置过的)值进行比较, 若是相同则经过,若是不一样则说明是csrf攻击。它利用的是cookie值通常不能被窃取的原理。能够参考这篇文章https://codeigniter.org.cn/forums/thread-19849-1-1.html,讲解的很是详细。安全

相关文章
相关标签/搜索