2

我正在开发基于 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() 建立链接,但这是个好主意吗?

感谢您的建议。

4

2 回答 2

1

如果您只需要简单的混淆(任何开发人员都可以立即获得真实路径),那么 base64_encode() 是最简单的方法(前提是您的路径不超过 600-700 个字符)。

顺便记住,安全性不应基于混淆,而应基于对您嫉妒的资源的可靠访问检查。

于 2011-03-07T14:02:16.633 回答
1

你已经用你的树视图放弃了文件夹的路径,我认为将它添加到实际元素中没有问题。

<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”功能上执行所有安全检查,你会没事的。

于 2011-03-07T14:07:00.590 回答