Нечетная переменная PHP Вопрос.Относящийся к "Корню" - PullRequest
0 голосов
/ 01 сентября 2011

Хорошо, я получаю скрипт от: http://abeautifulsite.net/blog/2008/03/jquery-file-tree/

Это скрипт каталога. У меня проблемы с этим. Он работает «из коробки», без всяких проблем, за исключением того факта, что он уходит далеко назад в структуру системы, тогда мне позволено даже кое-что увидеть как.

У человека, написавшего сценарий, есть одна строчка, которая отбрасывает меня, и я не могу придумать, что это, скажем, рассказы.

file_exists($root . $_POST['dir'])

Я никогда раньше не видел $ root в этом контексте. И нигде в сценарии это не определяется из того, что я могу сказать. Так это действительная вещь? Если нет, может кто-нибудь сказать мне, как я могу выгодно использовать этот скрипт для отображения каталогов, начиная с определенного каталога. Документ, на который я указываю с помощью приведенной выше ссылки, показывает пример, но, похоже, он ничего не значит для работы скриптов.

С другой стороны, если кто-то знает о консервированном сценарии, который очень похож по своей природе, я был бы рад взглянуть на это тоже. Но мне бы очень хотелось отредактировать этот файл так, чтобы он работал так, как я хочу, чтобы любая помощь была оценена.

пример того, как далеко он может вернуться назад, на http://domainsvault.com/tree/ Я говорю, что это далеко, потому что у меня даже нет доступа к этим каталогам через мой ftp .. это общая система .. hostgator ..

* РЕДАКТИРОВАТЬ * Спасибо всем за вклад, это по сути то, что я боялся услышать. Было прыгнуто, что мы могли пропустить изобретать колесо, используя эту концепцию. Но кажется, что это, скорее, не то, что это в основном кирпичная концепция, и ее далеко не стоит использовать и пытаться изменить. Скорее всего, мне будет гораздо проще создать что-то с нуля, чем иметь дело с этим. Это был только один из тех законсервированных сценариев, который, как вам кажется, выглядит аскетично приятным для глаз, и вы надеетесь на лучшее. Не оказалось, спасибо еще раз всем.

Ответы [ 3 ]

3 голосов
/ 01 сентября 2011
file_exists($root . $_POST['dir'])

Беги.

Этот сценарий коннектора не проверяет, какие пути вы ему передаете, поэтому вполне возможно экранировать root (который, да, вы должны установить вручную) и просматривать любые файлы на вашем сервере, которые находятся в Интернете пользователь имеет доступ к.

Кроме того, он не может выполнять экранирование URL-адресов и портит Unicode посредством нецелесообразного использования htmlentities. Это приведет к сбою файлов с различными знаками препинания или не-ASCII.

Это скрипучий и небезопасный сценарий. Не развертывайте его.

2 голосов
/ 01 сентября 2011

Я думаю, что $ root означает $_SERVER[ 'DOCUMENT_ROOT']

, который вы можете определить как

$root=$_SERVER[ 'DOCUMENT_ROOT']

в начале

2 голосов
/ 01 сентября 2011

$root - определяемая пользователем переменная.Это должно быть определено где-то в скрипте - это может быть глобальным.Сценарий все еще может работать, если переменная не существует (она могла быть удалена в предыдущем рефакторе кода), в этом случае вам просто нужно удалить переменную из строки, которую вы скопировали здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...