2

Codeigniter を使用して、URL から [コントローラーの] パブリック関数を呼び出します。これは、基本的にフレームワークの通常の動作です。私は 3 つのパラメーターを渡して$a, $b, $cおり、関数が実行されると、パラメーターがチェックされ、それに従って実行されます。さて、問題は、関数が呼び出されたときに 404 ページに移動する必要があるため、URL から関数を呼び出したくないことです。privateまたはを追加することでこれを実現できることは知っていますprotectedが、実際の問題は、直接のURLではなく、自分の他の関数の1つからのみアクセスする必要があることです。どんな解決策でも大歓迎です。

HTTP ルート ブロックが機能します。しかし、パラメータを渡すと、セキュリティ上の問題である関数が実行されます。アクセスをブロックする方法はありますか?

4

2 に答える 2

2

ルーティングを使用して、そのコントローラー/メソッドへの http トラフィックをブロックし、404 ページにリダイレクトできます。

routes.phpconfig フォルダー内のファイルに、次を追加します。

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

2 番目のルールは、任意の数のパラメーターに対応します。

于 2013-03-21T05:45:04.330 に答える
1

hidden secret variableに aを渡して、 から呼び出されてidentifyいないのはなぜですか。calling this functionURL

于 2013-03-21T05:29:32.993 に答える