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之类的语句