1

これが私のコードです

        $ref = $_GET['ref'];
        if (file_exists('views/'.$ref.'.php')) {
            $this->prepare($ref);
        } 
        elseif (!file_exists('views/'.$ref.'.php')) {
        echo 'Page you are requesting doesn´t exist';
        }

ユーザーが ?ref=con や ?ref=com1 などを実行しようとすると、現在問題が発生しています。file_exists は常に true を返します。これに対する回避策はありますか?

4

2 に答える 2

2

おそらく、それらのファイルが実際に存在するためです。虐待の可能性の方が心配です。入力をフィルタリングする必要があります。

elseif不要です。elseで十分でしょう。

于 2011-04-30T18:46:50.690 に答える
0

使用してみてください: is_file http://php.net/manual/en/function.is-file.php

于 2011-04-30T18:47:33.603 に答える