CodeIgniter安全相关设置汇总

CodeIgniter框架自身提供了一些安全设置如针对XSS和CSRF攻击的防范,针对SQL注入攻击的防范等。

就配置文件而言:

在application/config/config.php中

$config['encryption_key'] = '';//这个一定要设置 以加密自己的cookie等
$config['cookie_secure'] = TRUE;//设置为TRUE
/*
|--------------------------------------------------------------------------
| Global XSS Filtering全局XSS过滤设置为TRUE
|--------------------------------------------------------------------------
|
| Determines whether the XSS filter is always active when GET, POST or
| COOKIE data is encountered
|
*/
$config['global_xss_filtering'] = TRUE;
//防范csrf攻击
$config['csrf_protection'] = TRUE;
$config['csrf_token_name'] = 'mall_tooken';
$config['csrf_cookie_name'] = 'mall_cookie';
$config['csrf_expire'] = 7200;//设置适当的时间

打开system/core/Input.php

将get和post方法中的$xss_clean设置为true 当然你的站点如果是安全无所谓的 那就不设置或是在调用get或是post取参数时明确设置就可以了

开发中需要注意:

1.使用

$this->input->get( 'name', true );

而不使用$_GET[ 'name' ];

2.使用

$this->input->post( 'name', true );

而不使用$_POST[ 'name' ];

3.使用ActiveRecord查询语句而尽量不用select之类的语句

(0)

相关推荐

  • CodeIgniter框架URL路由总结

    URI 路由 一般来说,URI字符串有着和它唯一对应的控制器(controller)类/方法.URI的各个部分是如下模式(pattern): 复制代码 代码如下: example.com/class/function/id/ 然而在一些例子中,你也许想重定向这种关系来调用一个不同的类/方法(class/function),而不是与URL一一对应(的调用). 例如,你可能想使你的URL采用这种原型(prototype): 复制代码 代码如下: example.com/product/1/ exam

  • CI(CodeIgniter)框架中的增删改查操作

    CodeIgniter的数据函数类在 \system\database\DB_active_rec.php 复制代码 代码如下: <span style="font-size:16px;">class ModelName extends CI_Model {     function __construct()     {         parent::__construct();     } }</span> 连接数据库:$this->load->

  • CI框架安全类Security.php源码分析

    CI安全类提供了全局防御CSRF攻击和XSS攻击策略,只需要在配置文件开启即可: 复制代码 代码如下: $config['csrf_protection'] = TRUE; $config['global_xss_filtering'] = TRUE; 并提供了实用方法: 复制代码 代码如下: $this->security->xss_clean($data);//第二个参数为TRUE,验证图片安全 $this->security->sanitize_filename()//过滤文

  • php之CodeIgniter学习笔记

    在使用数据库之前,我们最好将数据库进行自动连接:config/autoload.php自动加载 $autoload['libraries'] = array('database');一些常用函数 选择数据$this->db->select();允许你在SQL查询中写 SELECT 部分.$this->db->where();$this->db->or_where();$this->db->where_in();允许你在SQL查询中写 WHERE部分,其余各种

  • CodeIgniter模板引擎使用实例

    一.示例: 通常在使用codeigniter的时候经常使用这样的方式载入: $this->load->view('about', $data); 通过这个类库,可以将一个视图载入到这个模板中: $this->template->load('template', 'about', $data); 这里将视图about.php载入到template模板文件中. 二.安装 下载ci_template_library.zip 解压后将Template.php放到application/li

  • 解析如何去掉CodeIgniter URL中的index.php

    CI默认的rewrite url中是类似这样的,例如你的CI根目录是在/CodeIgniter/下,你的下面的二级url就类似这样http://localhost/CodeIgniter/index.php/welcome.不太好看,怎么把其中的index.php取掉呢?1. 打开apache的配置文件,conf/httpd.conf :LoadModule rewrite_module modules/mod_rewrite.so,把该行前的#去掉.搜索 AllowOverride None(

  • CodeIgniter框架过滤HTML危险代码

    CodeIgniter过滤HTML危险代码的方法其实有好几种,其中最常见的有如下几种: 1.可以选择使用htmlspecialchars()方法过滤. 2.可以将config文件夹下面的config.php文件中的$config['global_xss_filtering'] = FALSE;设置为: 复制代码 代码如下: $config['global_xss_filtering'] = true; 但是这样设置后会加大服务器的开销的.所以看情况来设置. 3.可以在$this->input->

  • CI框架的安全性分析

    本文分析了CI框架的安全性.分享给大家供大家参考,具体如下: 用过ci框架的人都知道,ci框架能大大缩短你的代码.其实,ci框架更能提高你网站的安全性. 防止对数据库的攻击 数据输入可能引发许多问题.因为 HTML 和数据库的限制,数据中总包含特定的符号-举例来说,省略符号和引号-可能导致你的数据库遭到攻击,最终得到你无法预料的结果. 解决方案是在把这些数据存入数据库前对这些数据进行相关处理.这样做会浪费一些系统时间,增加一些额外编码. CI 的表单辅助函数会自动地完成这些工作.因此,当你编写一

  • CodeIgniter安全相关设置汇总

    CodeIgniter框架自身提供了一些安全设置如针对XSS和CSRF攻击的防范,针对SQL注入攻击的防范等. 就配置文件而言: 在application/config/config.php中 $config['encryption_key'] = '';//这个一定要设置 以加密自己的cookie等 $config['cookie_secure'] = TRUE;//设置为TRUE /* |----------------------------------------------------

  • Windows 2003 服务器安全设置图文教程

    一.系统的安装 1.按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面. 2.IIS6.0的安装 开始菜单->控制面板->添加或删除程序->添加/删除Windows组件 应用程序 ---ASP.NET(可选) |--启用网络 COM+ 访问(必选) |--Internet 信息服务(IIS)---Internet 信息服务管理器(必选) |--公用文件(必选) |--万维网服务---Active Server pages(必选) |--Int

  • Win2003 Server 安全的个人Web服务器

    如何才能打造一个安全的个人Web服务器?下面我们简单介绍一下 一.Windows Server2003的安装 1.安装系统最少两需要个分区,分区格式都采用NTFS格式 2.在断开网络的情况安装好2003系统 3.安装IIS,仅安装必要的 IIS 组件(禁用不需要的如FTP 和 SMTP 服务).默认情况下,IIS服务没有安装,在添加/删除Win组件中选择"应用程序服务器",然后点击"详细信息",双击Internet信息服务(iis),勾选以下选项: Internet

  • 创建安全的个人Web服务器(winserver2003、sql2000)

    一.Windows Server2003的安装   1.最小2个分区,分区格式都采用NTFS格式 2.在断开网络的情况安装好2003系统 3.安装IIS,仅安装必要的 IIS 组件.(禁用不需要的如FTP 和 SMTP 服务)   默认情况下,IIS服务没有安装,在添加/删除Win组件中选择"应用程序服务器",然后点击"详细信息",   双击Internet信息服务(iis),勾选以下选项:   Internet 信息服务管理器:公用文件:后台智能传输服务 (BIT

  • Windows2003网络服务器安全攻略

    一.Windows Server2003的安装 1.安装系统最少两需要个分区,分区格式都采用NTFS格式 2.在断开网络的情况安装好2003系统 3.安装IIS,仅安装必要的 IIS 组件(禁用不需要的如FTP 和 SMTP 服务).默认情况下,IIS服务没有安装,在添加/删除Win组件中选择"应用程序服务器",然后点击"详细信息",双击Internet信息服务(iis),勾选以下选项: Internet 信息服务管理器: 公用文件: 后台智能传输服务 (BITS)

  • [推荐]Win2003 服务器的详细架设

    一.Windows Server2003的安装 1.安装系统最少两需要个分区,分区格式都采用NTFS格式 2.在断开网络的情况安装好2003系统 3.安装IIS,仅安装必要的 IIS 组件(禁用不需要的如FTP 和 SMTP 服务).默认情况下,IIS服务没有安装,在添加/删除Win组件中选择"应用程序服务器",然后点击"详细信息",双击Internet信息服务(iis),勾选以下选项: Internet 信息服务管理器: 公用文件: 后台智能传输服务 (BITS)

  • .NET中字符串比较的最佳用法

    目录 对字符串用法的建议 显式指定字符串比较 字符串比较的详细信息 使用当前区域性的字符串比较 序号字符串操作 使用固定区域性的字符串操作 为方法调用选择 StringComparison 成员 .NET 中的常见字符串比较方法 String.Compare String.CompareTo String.Equals String.ToUpper 和 String.ToLower Char.ToUpper 和 Char.ToLower String.StartsWith 和 String.En

  • JS设置CSS样式的方式汇总

    1. 直接设置style的属性  某些情况用这个设置 !important值无效 如果属性有'-'号,就写成驼峰的形式(如textAlign)  如果想保留 - 号,就中括号的形式  element.style['text-align'] = '100px'; element.style.height = '100px'; 2. 直接设置属性(只能用于某些属性,相关样式会自动识别) element.setAttribute('height', 100); element.setAttribute

  • codeigniter数据库操作函数汇总

    网上倒是有不少Codeigniter数据库操作的介绍,这里做一个汇总. 复制代码 代码如下: //查询: $query = $this->db_query("SELECT * FROM table"); ================================== //result() 返回对象数组$data = $query->result(); //result_array() 返回数据$data = $query->result_array(); //r

  • CodeIgniter删除和设置Cookie的方法

    本文实例讲述了CodeIgniter删除和设置Cookie的方法.分享给大家供大家参考.具体如下: $cookie = array( 'name' => 'loggedin', 'value' => 'yes', 'expire' => '86500', 'domain' => '.apol0829.dev', 'prefix' => 'apollidon_' ); set_cookie($cookie); $cookie = array( 'name' => 'log

随机推荐