2

基本的に、私はこのURLを介してユーザーを登録するCodeIgniterサイトを持っています:
http ://website.com/user/register/1

残念ながら、次のようなURLで追加の引数を渡すと、http: //website.com/user/register/1/extraargs/extraargs

これが私のコードです:

<?php
class User extends CI_Controller
{
    public function register($step = NULL)
    {
        if (($step!=NULL)&&($step == 1 || $step == 2 || $step == 3)) {
            if ($step == 1){
                $this->load->view('registration_step1');
            }
        } else {
            show_404();
        }
    }
}
?>

404は表示されません。余分な引数を無視するだけです。余分な引数がURLに影響を与えないようにしたいと思います。追加のURL引数がある場合は、404を表示したいと思います。これはどうやるんですか?また、余分なURLセグメントはセキュリティに影響を与える可能性がありますか?ありがとう。

4

1 に答える 1

5

なぜそれを本当にやりたいのかわかりませんが、それを使用func_num_args()して検証することはできます。

public function register($step = NULL)
{
  if ( func_num_args() > 1 ) show_404();
}
于 2012-05-01T10:22:55.643 に答える