如何保护从其他文件夹删除文件

时间:2019-01-07 10:17:31

标签: php delete-file protection

我为几个用户创建了一个简单的文件管理。 结构:每个用户在目录uploads中都有一个地图,如下所示:

uploads/john/-->files inside

uploads/bill/-->files inside

要删除文件,我使用此表单”

<form class="sfmform" method="post" action="">
        <input type="hidden" name="deletefile" value="<?php echo $dir.'/'.$file">
        <input type="submit" class="sfmdelete" name="delete" value="Delete">
</form>

var $dir.'/'.$file根据示例显示了文件的确切位置: uploads/john/cat.jpg

让我们假设:我是 john ,我知道另一个人的名字是 bill 。 而且我猜 bill 也有一个名为dog.jpg

的文件

我打开浏览器检查器删除自己文件夹中的文件,然后将隐藏的输入表单uploads/john/cat.jpg的值更改为uploads/bill/dog.jpg,然后单击Delete,我确实删除了狗图像比尔他的文件夹。

如何保护通过浏览器检查器进行的这种操作?

1 个答案:

答案 0 :(得分:0)

这是我通过浏览器检查器来保护操作的方式: 像johnbill这样的文件夹的名称是由以下变量生成的:UserID

所有文件夹都位于uploads目录中。看起来像是:{{1} 和uploads/john/...

隐藏文本字段的值是使用uploads/bill/...创建的,始终看起来像$dir.'/'.$file

现在,我将uploads/john/file.jpg与第一个$UserID之后的隐藏字段的值进行比较,如下所示:

/

我对其进行了测试,看来效果很好...

好!它不是最专业的解决方案,但是我想在没有数据库的情况下制作此脚本