如何在PHP中实现对函数的访问控制

时间:2014-08-06 13:10:55

标签: php oop url-routing

我在控制器中做了类似的事情:

$myapp->$class->$function($params)

正在从请求网址/class/function/field1/val1/field2/val2/.../fieldN/valN

中提取变量

通过网站模板,只链接某些功能,但显然任何人都可以查看源代码并尝试访问不应该看到的敏感功能。

所以我的问题是,如何在允许其他人通过URL访问的同时隐藏某些功能?

  • 如果可能,我想继续使用此方法$ myapp-> $ class-> $ function($ params)
  • 同时它不适用于班级中的某些功能,即$ myapp-> Page-> delPage(...)应该返回错误
  • 其他功能应该有效,即$ myapp->留言簿 - > createPost(...)

我还没有实现用户登录,但是例如,Guestbook-> createPost(...)会检查用户是否已登录。但是有太多的类和函数所以我不想如果可能的话,必须为每一个写出单独的请求页面。

1 个答案:

答案 0 :(得分:1)

你可以看看像Zend或Symfony这样流行的PHP框架如何处理这个标准问题 他们已经有很多关于它的内容,并且它们的实现已经被成千上万的用户测试 Zend和Symfony组件都应该可以独立使用。

Zend Framework 2路由器http://framework.zend.com/manual/2.0/en/modules/zend.mvc.routing.html

Symfony 2路由器http://symfony.com/doc/current/book/routing.html