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

[已解决] 怎样禁止直接访问controller里面的函数

[复制链接]
发表于 2011-6-1 12:52:40 | 显示全部楼层 |阅读模式
比如说一个controller名字为contact里面有两函数index()和thanks();那么如何禁止直接利用http://localhost/php/contact/thanks来访问这个页面
发表于 2011-6-1 13:11:12 | 显示全部楼层
回复 tttlh 的帖子

前面加_,如_thanks
 楼主| 发表于 2011-6-1 20:37:41 | 显示全部楼层
谢谢。。。那内部调用怎么调用 也要加_吗 比如说redirect(‘**/thanks[?]')
发表于 2011-6-2 02:23:22 | 显示全部楼层
回复 tttlh 的帖子

加了下划线就表示从 URL 访问不了了,什么情况都访问不了。
但是,你如果用 $this->_xxx() 访问,是没有限制的,因为这不是通过 URL 访问。
 楼主| 发表于 2011-6-7 14:32:08 | 显示全部楼层
thanks! hex
发表于 2011-6-11 08:11:26 | 显示全部楼层
又学了一招~~~, 但是表单验证功能的callback_xxx方法因为不能改名,还是能直接被访问。有什么好办法吗?
发表于 2011-6-11 09:28:51 | 显示全部楼层
hex说的是要在函数之前加_,你加在中间当然能被访问到了哦
发表于 2011-6-11 10:28:05 | 显示全部楼层
hh2hh 发表于 2011-6-11 08:11
又学了一招~~~, 但是表单验证功能的callback_xxx方法因为不能改名,还是能直接被访问。有什么好办法吗? ...

你改成 callback__xxxx 不就完了。。。两个下划线。。。。
变通下,呵呵
发表于 2011-6-11 11:33:58 | 显示全部楼层
Hex 发表于 2011-6-11 10:28
你改成 callback__xxxx 不就完了。。。两个下划线。。。。
变通下,呵呵

  哈哈 怎么就没想到

本版积分规则