我在运行Windows 10的计算机上安装了一个用于Windows 7.2.0-0的XAMPP并托管了一些网站。我制作的是用户可以注册并创建自己的网站。当用户注册时,它会在一个单独的驱动器中为它们创建一个具有基本索引页面的目录。从那里,他们可以更新该页面,创建新页面,创建新目录以及进入其中的文件。
以下是我使用的代码的一部分:
$updir = ("a/".$_SESSION['mysitename'.""]);
$files = scandir($updir);
sort($files);
foreach ($files as $file) {
if ($file != '.' && $file != '..') {
$b = pathinfo($file, PATHINFO_EXTENSION);
if (strlen($b) < 1) {
然后我回显出一个文件夹图标,后面跟着每个结果的目录名称。接下来,我运行另一个foreach ($files as $file)
并将行if (strlen($b) < 1) {
更改为if (strlen($b) > 0) {
并回显一个文件图标,后跟每个文件的名称。每个图标都是可点击的;如果单击文件夹图标,它将再次运行代码并显示该目录中的所有内容;如果单击文件图标,则会在文本区域中显示文件的内容以进行查看或更新并保存。您还可以单击显示您所在目录名称的打开文件夹图标,它将再次运行代码以导航到您所在的父目录。所有这些都是通过传递变量来完成的。
当我第一次写这篇文章时;如果您单击打开的文件夹图标,则导航到父目录,并且意外地向我发送,我可以继续单击向上或向下并导航到计算机上的任何目录或文件。在我发现可以完成之后,我限制了在代码中执行此操作的能力。
我的问题是:如果用户在此服务器上创建了一个网站并使用了我所使用的代码或其他一些方法,我将如何阻止他们查看或访问除此之外的任何其他目录他们自己,或以某种方式发出mklink
命令。
我担心安全问题。我几乎不知道保护我的文件在他们的目录或其他用户文件之上。我也有一个FQND来访问该网站。如果有人能告诉我从哪里开始了解这一点我将非常感激,或者如果这个问题已经有了答案,请指出我正确的方向。
谢谢大家的帮助。