Ajax Files browser;Каковы хорошие практики - PullRequest
2 голосов
/ 07 марта 2011

Я работаю над файловым браузером (очень легкий файловый менеджер, если вы предпочитаете) на основе PHP и Javascript.

Я создаю древовидную структуру с моими папками:

<ul id="treeview">
    <li><a href="#">Folder 1</a></li>
    <li><a href="#">Folder 2</a>
        <ul>
            <li><a href="#">Folder 2.1</a></li>
            <li><a href="#">Folder 2.2</a></li>
        </ul>
    </li>
    <li><a href="#">Folder 3</a></li>
</ul>

Каждая ссылка представляет собой папку.Отсюда я хочу загрузить содержимое папки после нажатия на нее.

У меня есть этот код PHP, чтобы сделать это:

public function getContent($path)
{
    //fetch the content of $path directory
}

У меня есть этот код JS для обработкисобытия:

$('#treeview a').live('click',function(e){
    e.preventDefault();
    var folder = //here : get the path
    loadContentInPanel(folder);
});

Но я не знаю, как безопасно получить путь к выбранной папке.Должен ли я добавить его непосредственно в атрибут, как это?:

<li><a href="root/folder2/folder2.1/"> Folder 2.1</a></li>

В идеале я бы хотел, чтобы путь был невидимым (по крайней мере, не читаемым) для конечного пользователя.Я думал создать ссылку с base64_encode (), но разве это хорошая идея?

Спасибо за ваши предложения.

Ответы [ 2 ]

1 голос
/ 07 марта 2011

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

<li><a href="root/folder2/folder2.1/"> Folder 2.1</a></li>

Будет в

<ul id="treeview">//root
    <li><a href="#">Folder 1</a></li>
    <li><a href="#">Folder 2</a> //folder2

Выполните все проверки безопасности с помощью функции getContent, и все будет в порядке.

1 голос
/ 07 марта 2011

Если вам просто нужно простое запутывание (любой разработчик сможет получить реальный путь в кратчайшие сроки), тогда base64_encode () - самый простой способ (при условии, что ваш путь не превышает 600-700 символов).

Кстати, помните, что безопасность должна основываться не на запутывании, а на надежных проверках доступа к ресурсам, которым вы завидуете.

...