本文概述
- XSS过滤
- CSRF(跨站伪造)
- 类参考
- XSS过滤
- CSRF(跨站伪造)
- 类参考
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令牌。
推荐阅读
- CodeIgniter禁止启用CSRF
- CodeIgniter登录页面(带有数据库)
- CodeIgniter中的登录表单(不带MySQL)
- CodeIgniter SELECT数据库记录
- CodeIgniter数据库INSERT记录
- CodeIgniter数据库配置
- CodeIgniter驱动程序
- 在CodeIgniter中传递参数
- CodeIgniter钩子用法