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之類的語句