zoukankan      html  css  js  c++  java
  • php优秀框架codeigniter学习系列——CI_Security类学习

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

    __construct()


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

    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,讲解的非常详细。

  • 相关阅读:
    工单组件增强
    一些BAPI
    实例程序
    使用BAPI一定要提交和回滚(错误)
    动态内表值导出为TXT文件
    网页常用功能
    Code Complete
    Typescript 解构 、展开
    Typescript变量声明
    TypeScript基础数据类型
  • 原文地址:https://www.cnblogs.com/Andres/p/9570646.html
Copyright © 2011-2022 走看看