我正在使用基于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()建立链接,但这是一个好主意吗?
感谢您的建议。
答案 0 :(得分:1)
如果您只需要简单的混淆(任何开发人员都能够立即获得真正的路径),那么base64_encode()是最简单的方法(前提是您的路径不超过600-700个字符)。
顺便提一下,请记住,安全性不应基于混淆,而应基于对您所嫉妒的资源的可靠访问检查。
答案 1 :(得分: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”函数中执行所有安全检查,你会没事的。