用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1787|回复: 5
收起左侧

[HELP] 函数前加点 能访问,这个怎么解决

[复制链接]
发表于 2017-11-28 18:19:20 | 显示全部楼层 |阅读模式
本帖最后由 mx89360944 于 2017-11-28 18:20 编辑

http://www.test.com/index.php/.......Welcome   
http://www.test.com/index.php/..Welcome   
这样都能访问

怎么解决好?


发表于 2017-11-28 18:43:10 | 显示全部楼层
这么奇怪。。。。 不过,这样能访问有什么问题呢?
 楼主| 发表于 2017-11-28 18:57:19 | 显示全部楼层
确实能访问 ,    你试试呢, ··   要被安全测评软件 认为是 备份文件   ,
发表于 2017-11-28 19:12:34 | 显示全部楼层
mx89360944 发表于 2017-11-28 18:57
确实能访问 ,    你试试呢, ··   要被安全测评软件 认为是 备份文件   ,

确实能访问,这个要看一下 Router.php 了,不过被认为有漏洞没事,实际上没漏洞就好了。
发表于 2017-11-29 11:23:30 | 显示全部楼层
哈哈哈,我的也是,不管他了
发表于 2017-12-3 17:38:29 | 显示全部楼层
本帖最后由 心里有_nSu4T 于 2017-12-3 17:41 编辑

index.php



CodeIgniter.php `$RTR =& load_class('Router', 'core', isset($routing) ? $routing : NULL);
` line 260



Router.php `__construct()`方法内:

`$this->_set_routing();` line 133



`_set_routing()`方法内:
        
        if ($this->uri->uri_string !== '')
        {
                $this->_parse_routes();
        }



`_parse_routes()`方法内最后:

        $this->_set_request(array_values($this->uri->segments));



`_set_request()`方法内 `set_class()`:

        $this->set_class($segments[0]);




`set_class()`方法:

        public function set_class($class)
        {
                $this->class = str_replace(array('/', '.'), '', $class);
        }

可以看到在这里 `.`、`/` 都被去除了。
以上哪里不对的 请帮忙指出错误呀

本版积分规则