file_exists с зарезервированными именами файлов - PullRequest
1 голос
/ 30 апреля 2011

Хорошо, вот мой код

        $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Есть ли обходной путь для этого?

Ответы [ 2 ]

2 голосов
/ 30 апреля 2011

Возможно, потому что эти файлы действительно существуют. Я бы больше беспокоился о возможном злоупотреблении. Вы должны отфильтровать ваши входные данные.

Также elseif не требуется. else вполне хватит.

0 голосов
/ 30 апреля 2011

Пожалуйста, попробуйте использовать: is_file http://php.net/manual/en/function.is-file.php

...