CodeIgniter安全等级

本文概述

  • XSS过滤
  • CSRF(跨站伪造)
  • 类参考
CodeIgniter包含安全性类方法, 这些方法将有助于创建安全的应用程序并处理输入数据。方法如下。
  • XSS过滤
  • CSRF(跨站伪造)
  • 类参考
XSS过滤XSS代表跨站点脚本。它用于禁用JavaScript或其他试图劫持cookie并执行其他类型的恶意行为的代码。当它遇到任何有害的东西时, 通过将数据转换为字符实体来使其安全。
XSS过滤使用xss_clean()方法来过滤数据。
$data = http://www.srcmini.com/$this-> security-> xss_clean($data);

有一个可选的第二个参数is_image, 用于测试XSS攻击的映像。当此参数设置为TRUE时, 它不返回更改后的字符串, 而是在图像安全的情况下返回TRUE, 在包含恶意信息的情况下返回FALSE。
if ($this-> security-> xss_clean($file, TRUE) === FALSE) {//file failed in xss test }

CSRF(跨站伪造)要启用CSRF, 请在application / config / config.php文件中进行以下设置。
$config['csrf_protection'] = TRUE;

如果你使用的是表单帮助器, 则一个隐藏的csrf字段将自动插入到form_open()/字段中。
否则, 你可以使用手动添加它,
get_csrf_token_name()(返回csrf的名称)和
get_csrf_hash()(它返回csrf的值)。
生成的令牌可以在CSRF Coo??kie的整个生命周期中保持不变, 也可以在每次提交时重新生成。默认生成的令牌提供了更好的安全性, 但是也存在可用性问题, 因为其他令牌(例如多个选项卡/窗口, 异步操作等)变得无效。可以在application / config / config.php文件中设置再生行为, 如下所示。
$config['csrf_regenerate?] = TRUE;

类参考
Class CI_Security

xss_clean ($str [, $is_image = FALSE])

参数-$ str(混合)?输入字符串或字符串数??组
返回-XSS干净数据
返回类型-混合
从输入数据中删除XSS漏洞并返回干净的字符串。
Sanitize_filename ($str [, $relative_path = FALSE])

参数-$ str(字符串)?文件名/路径
$ relative_path(布尔)? tp是否在文件路径中保留任何目录
返回-清理的文件名/路径
返回类型-字符串
它通过清理文件名来防止目录遍历和其他安全威胁。它主要用于通过用户输入提供的文件。
Entity_decode (($str [, $charset = NULL])

参数-$ str(字符串)?输入字串
$ charset(字符串)?输入字符串的字符集
返回-实体解码的字符串
返回类型-字符串
它尝试检测不以分号结尾的HTML实体, 因为某些浏览器允许这样做。
$ charset参数保留为空, 然后将使用$ config [‘ charset’ ]中的配置值。
Get_random_bytes ($length)

参数-$ length(int)?输出长度
返回-随机字节或失败时为FALSE的二进制系统。
返回类型-字符串
【CodeIgniter安全等级】它用于生成CSRF和XSS令牌。

    推荐阅读