Alex的博客

本博客的文章均为原创,是本人从事行业多年来所遇见一些小问题的解决心得,希望可以帮助到大家!



ci框架做非法关键词整站过滤解决方案 (原创)

最近网站访问量增大本来想启用缓存 结果发现启用了display_override钩子以后 居然无法使用页面缓存了。于是研究了半天终于找到解决方案分享给大家

首先是利用钩子 来写一个关键词过滤类

主要是第一步继承CI类

$this->CI =& get_instance();
$data=$this->CI->output->get_output();

并获取输出内容保存起来以备后面使用

然后就用自己的规则来对输出的内容进行非法词清理

清理完成以后就把清洗完后的输出内容再写回输出缓存中

$this->CI->output->set_output($data);

最后调用输出类里面的_displa方法来输出到浏览器

$this->CI->output->_display();

PS:注意一定要调用输出方法否则不会有任何输出,之前由于没有怎么看ci手册我就直接echo输出了,结果导致了页面静态缓存无法正常使用。调用_displa后就可以使用页面缓存了。


另外output的所有方法在控制器中可以直接使用但是记得在$this->load->view()以后使用否则是回去不到数据的

具体可以参考一下ci官方的output(输出类)说明文档

链接地址:http://codeigniter.org.cn/user_guide/libraries/output.html


至于对缓存文件的手动管理可以参考上一篇文章

浏览138  评论0  Alex于 2018-1-13 15:57
发言