用户
 找回密码
 入住 CI 中国社区
搜索
楼主: visvoy
收起左侧

[讨论/交流] 脆弱的CI缓存系统,1天攻陷你的CI网站

    [复制链接]
发表于 2009-3-16 19:52:57 | 显示全部楼层
楼主真有才:)
发表于 2009-3-16 21:08:17 | 显示全部楼层
我一直都没有阅读过官方的源码……只是拿来用了而已。
这个问题真的比较严重
发表于 2009-3-17 19:28:52 | 显示全部楼层
不能给缓存设个大小上限吗?如果到达上限,就把最老最不常用的缓存清空。
发表于 2009-3-17 19:45:31 | 显示全部楼层
这个问题貌似蛮严重的诶~~~~~~
有没有人去CI官网报告啊?
发表于 2009-3-17 19:57:06 | 显示全部楼层
对,得去官网报告。
发表于 2009-3-17 22:26:00 | 显示全部楼层
为什么CI不使用SMARTY 这个模板引擎呢?
发表于 2009-3-17 23:28:25 | 显示全部楼层
为什么CI不使用SMARTY 这个模板引擎呢?
destiny_my 发表于 2009-3-17 22:26

为什么要用 smarty?我觉得 smarty 很臃肿。
PHP 作为模板语言难道不比 smarty 好?都有自己的语法,都有控制结构,为什么要学新的语法呢?呵呵
发表于 2009-3-17 23:57:22 | 显示全部楼层
恩,也有道理。都是CI的缓存机制真的不敢恭维。我曾向公司提出用CI框架开发,可老总问我,能否解决缓存问题时,我无语了。虽然CI可以定制自己的缓存方式,但是还是美中不足,比如:一个视图文件 index.php 如果作为首页文件,那么其缓存的cache_id = index 。 如果是搜索列表文件,那么其缓存的cache_id = index . params 。。。。如何让每个控制器在调用之前设置其cache_id呢?
发表于 2009-3-18 00:01:30 | 显示全部楼层
CI本身也有个Parser模板解析对象。这个对象是不可以缓存的。很费解,为什么CI会有个这样的东西?作用是什么?我从ECSHOP里拷贝了他的template类来替代了Parser。增强了很多功能,但是缓存机制还是有难题。因为他不是在 pre_system的时候读取缓存的。而是在post_controller时读取的,这样的话cache就没什么必要了。真的很郁闷。郁闷到极点了。
发表于 2009-3-18 00:14:07 | 显示全部楼层
为什么要用 smarty?我觉得 smarty 很臃肿。
PHP 作为模板语言难道不比 smarty 好?都有自己的语法,都有控制结构,为什么要学新的语法呢?呵呵
Hex 发表于 2009-3-17 23:28


如果是SMARTY源包的确很臃肿,都是ECSHOP5.0版本后都做了自己的模板解析类cls.template,他也是很轻量级的。
模板类为什么那么好用,有什么用呢?我觉得最主要的一点是模板库的作用:

模板可以include库文件lbi,这样可以使得模板结构更加容易分离和组合。

CI目前如何做到这点?

本版积分规则