天天看点

CI 框架学习之路(二)

CI 配置文件中重要变量解释:

$config['base_url'] = "http://www.myci.com/"; //网站的网址

$config['index_page'] = "index.php"; //根目录下的 index.php 文件名,CodeIgniter 会使用它来生成链接地址。如果使用隐藏 index.php 的URL,将其设置为空字符串:$config['index_page'] = ""。

$config['uri_protocol'] = "AUTO"; //生成 URL 使用的格式,设置为“AUTO”自动探测。如果链接不能正常工作,可以尝试以下值:PATH_INFO、QUERY_STRING、REQUEST_URI、ORIG_PATH_INFO。

$config['url_suffix'] = ""; //生成链接时使用的 URL 后缀,如果要实现伪静态,可以设置 $config['url_suffix'] = ".html"。

$config['language'] = "english"; //默认语言。

$config['charset'] = "UTF-8"; //默认字符集。

$config['enable_hooks'] = FALSE;  //是否启用钩子,钩子功能使得您可以在不修改系统核心文件的基础上来改变或增加系统的核心运行功能。

$config['subclass_prefix'] = 'MY_'; //设置扩展类库时使用的类名前缀

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-'; //设置 URL 中允许使用的字符,这是一个正则表达式。当访问者试图访问的 CodeIgniter URL 包含其它字符时,会得到一个警告;可以有效的过滤注入攻击。如果设置为空,允许使用所有字符。

$config['controller_trigger'] = 'c'; //将查询字符串中此选项对应的值当做 CodeIgniter 控制器的名字。

$config['function_trigger'] = 'm'; //将查询字符串中此选项对应的值当做 CodeIgniter 控制器方法的名字。

$config['directory_trigger'] = 'd'; //若控制器在子目录下,URL中需带有这个参数,指定控制器所在子目录名称

$config['log_threshold'] = 0; //启用错误日志,设置记录哪些类型的错误;一般来说,如果需要的话1就可以啦。

 0 = 关闭错误日志记录

 1 = 记录错误信息

 2 = 记录调试信息

 3 = 记录通知信息

 4 = 记录所有信息

$config['log_path'] = ""; //如果您不想使用默认的错误日志记录目录配置(system/logs/),可以设置完整的服务器目录。

$config['log_date_format'] = 'Y-m-d H:i:s'; //错误日志时间格式。

$config['cache_path'] = ""; //如果您不想使用默认的缓存目录(system/cache/)来存储缓存,可以设置完整的服务器目录

$config['encryption_key'] = ""; //使用的密钥;如果使用加密类或session类,必须设置一个加密密钥。

$config['global_xss_filtering'] = FALSE; //是否对输入数据(GET、POST)自动过滤跨脚本攻击。

$config['time_reference'] = 'local'; //设置时间格式:"local"、"GMT"。

session信息

$config['sess_cookie_name'] = 'ci_session'; //你想要的cookie名  

$config['sess_expiration']= 7200; //session有效期,0则不限制  

$config['sess_expire_on_close']= FALSE; //关闭浏览器窗口是否导致session过期  

$config['sess_encrypt_cookie']= FALSE; //是否加密cookie  

$config['sess_use_database']= FALSE; //是否保存session数据到数据库  

$config['sess_table_name']= 'ci_sessions'; //session数据表名称  

$config['sess_match_ip']= FALSE; //读取session数据时,是否匹配用户的IP地址  

$config['sess_match_useragent']= TRUE; //读取session数据时,是否匹配用户代理  

$config['sess_time_to_update']= 300; //多少秒刷新session信息

cookie信息

$config['cookie_PRefix']= ""; //如果需要避免碰撞,可以设置cookie前缀  

$config['cookie_domain']= ""; //设置域名如 .example.com 给网站范围内cookie  

$config['cookie_path']= "/";  //cookie路径通常为正斜线  

$config['cookie_secure']= FALSE; //如果安全的HTTPS连接存在,安全cookie将被设置,默认不开启

跨站请求伪造(推荐开启,默认false)  

$config['csrf_protection'] = FALSE; //是否开启CSRF cookie token  

$config['csrf_token_name'] = 'csrf_test_name'; //token名  

$config['csrf_cookie_name'] = 'csrf_cookie_name'; //cookie名  

$config['csrf_expire'] = 7200; //token过期时间  

注:若开启,token将在表单提交时被检查; 如果你允许接收用户提交数据,强烈推荐开启CSRF保护。

$config['compress_output'] = FALSE; //当开启输出压缩,output类将检测你的服务器是否支持Gzip,即使它支持,然而,不是所有的浏览器支持压缩,所以只有当你相当确定你的访客可以进行操作才开启。重要:当开启Gzip,如果你得到一个空白页,意味着你过早的输出一些东西到浏览器,它甚至可能是在脚本最后的一行空格。为了压缩能正常工作,在使用output类输出缓冲前,不能发送任何东西。开启Gzip时,不要‘echo’输出任何值。

$config['rewrite_short_tags'] = FALSE; //重写PHP短标签;如果你安装的PHP不支持短标签,CI可以在信息传输过程中重写标签,让你可以在视图文件中使用短标签语法。

$config['proxy_ips'] = ""; // 如果访问者通过代理服务器来访问您的网站,为了正确识别访问者的IP地址,你必须指定 那些CI应该信任的HTTP_X_FORWARDED_FOR头里的 代理IP地址到白名单,逗号分割,如:192.0.1.200,192.0.1.201