2

使用 Codeigniter,我从 url 调用一个公共函数[我的控制器],这基本上是框架的正常行为。我$a, $b, $c在函数执行时传递了 3 个参数,它会检查参数并根据它执行。现在,问题是我不希望从 url 调用我的函数,当它被调用时,它应该转到 404 页面。我知道这可以通过添加privateor来实现protected,但真正的问题是它只能通过我自己的其他功能之一访问,而不是通过直接 url。欢迎任何解决方案。

HTTP 路由块有效。但是当我传递参数时,函数会被执行,这是一个安全问题。知道如何阻止访问吗?

4

2 回答 2

2

您可以使用路由来阻止任何到该控制器/方法的 http 流量并重定向到 404 页面。

routes.phpconfig 文件夹中的文件中,添加以下内容

$route['controller/private_method'] = '{your 404 controller}';
$route['controller/private_method/(:any)'] = '{404 controller}';

第二条规则适用于任意数量的参数。

于 2013-03-21T05:45:04.330 回答
1

你为什么不把 a 传递hidden secret variableidentify你是的calling this function并且它没有被调用 from URL

于 2013-03-21T05:29:32.993 回答