Hex 发表于 2009-3-18 02:15:30

这些无非就是 module 和 layout 方面的东西,对 CI 进行一些扩展完全可以做到,CI 没有不能扩展的东西。
可以具体问题具体分析。
不过,话说回来,CI 的设计理念就是轻量,CI 核心不可能包括那么多功能,不可能和 ZF 一样面面俱到,CI 的理念就是需要什么扩展什么,由第三方类库来实现。

还有,关于缓存,我认为如果对缓存有更多要求,肯定是要自己实现缓存类库,而不能用 CI 自带的,关于缓存的 PHP 类库简直太多了,都可以集成进来。

ken.sniper 发表于 2009-3-26 16:27:44

本帖最后由 ken.sniper 于 2009-3-26 16:30 编辑

http://codeigniter.org.cn/user_guide/libraries/user_agent.html
也有补救方法,这个是判别浏览器来源,以及是否机器人。没有楼主说的那么恐怖。
刚把手册大概看了一遍,收获不小,准备再熟悉两遍。

BillyFan 发表于 2009-3-27 00:23:28

那个判断是否机器人。。。好像不怎么管用。。。。
我刚刚用下面这个代码来攻击我自己的测试站

for($i = 0; $i <5; $i++){
$hAttack = @fopen('www.mydomain.com/xx/xxx/'.$i,'r');
fclose($hAttack);
}

那个$this->agent->is_robot()的判断是false,而不是true
照样生产一堆缓存文件

Hex 发表于 2009-3-27 01:21:29

这个 is_robot 是判断是不是搜索引擎用的~~ 不是判断是不是攻击者。。。。
-_-

PS: 经过严格检测是可以过滤掉非法请求的,但这会降低效率。比如钩子,我觉得可以做这件事。

visvoy 发表于 2009-3-27 02:17:47

有个折中的办法是按需缓存,既扩展URI和OUTPUT类,
扩展URI->segment(n),让其记录controller曾经用过的n的最大值,作为合法的n
扩展OUTPUT->_write_cache(),生成哈希值那里,用合法的n生成缓存哈希

我自用的扩展已经实现,思路很简单的,大家try try吧

neversaylate 发表于 2009-3-27 10:15:03

楼上的贴一下代码吧

visvoy 发表于 2009-3-28 03:30:19

写在扩展框架里面,没分离,等哪天发布新代码再分离吧

wave618 发表于 2009-3-29 13:00:25

需要改进才行呀

yunt 发表于 2009-4-1 12:23:59

http://codeigniter.org.cn/user_guide/libraries/user_agent.html
也有补救方法,这个是判别浏览器来源,以及是否机器人。没有楼主说的那么恐怖。
刚把手册大概看了一遍,收获不小,准备再熟悉两遍。 ...
ken.sniper 发表于 2009-3-26 16:27 http://codeigniter.org.cn/forums/images/common/back.gif
根据User-Agent来判断是否机器人是不行的,伪造User-Agent是很容易的

kissmumu 发表于 2009-4-1 15:31:33

哪个mujiji的在用这个漏洞玩我

:curse:
这个贴子是3.14发的。我当天就被爆了。
刚刚ftp上去传文件失败才发现的,F**K终于无法避免的跳出
http://www.aeolian.cc/cn/images/kohana/mujiji.jpg
http://www.aeolian.cc/cn/images/kohana/mujiji.jgp
页: 1 2 [3] 4 5 6 7 8 9 10 11 12
查看完整版本: 脆弱的CI缓存系统,1天攻陷你的CI网站