我正在制作一个在独立电脑上运行的内部网客户经理。商店将为每个客户记录添加文件,当每个记录加载时,每个客户文件夹的内容在A标签内的屏幕上回显,以便工作人员可以点击它并查看已添加的文件那个客户。
我正在尝试为每个用户记录页面添加删除链接,但我没有太多运气。我使用以下内容,我不确定是否需要获取另一个php文件来删除,或者我是否可以将其放入这样的链接中?。
echo '<a href="unlink(./customer-files/'.$customerID.'/'.$filename->getFilename().');">Delete File</a>';
点击链接时,我得到的是&gt;&gt;
The requested URL /customermgr/unlink(./customer-files/5/customeraddnewfile.jpg); was not found on this server.
编辑&gt;&gt;&gt;&gt;
这是在本地安装,没有连接到互联网,因此安全性不是问题,因为没有任何人因为没有连接到互联网而进入此区域。我只是在寻找最快捷,最简单的方法,而不必编写额外的代码:)。
答案 0 :(得分:3)
你是...试图在服务器上运行任意PHP代码链接?你知道如果它有效会有多么不安全吗?
相反,只需将您的链接设为:
echo '<a href="unlink.php?id='.$customerID.'&file='.$filename->getFilename().'">Delete</a>';
然后您的unlink.php
文件可能类似于:
$f = "customer-files/".$_GET['id']."/".$_GET['file'];
if( file_exists($f)) unlink($f);
但请注意安全隐患。例如,确保文件名中没有../
的实例。
答案 1 :(得分:1)
例如:
链接文件中的:
<a href="unlink.php?name=customernewfile.jpg">Delete me !</a>
在你的“unlink.php”文件中:
...
unlink('my/path/to/files/'.$_GET['name']);
这是一个不可靠的例子,不要像这样使用它。
答案 2 :(得分:0)
您不能像通过HTML那样运行这样的命令。您需要创建一个新的PHP文件并链接到该文件:
<a href='delete-file.php?file=fileid'>
然后php页面将运行unlink命令。
但请注意,此处存在严重的安全问题,因为人们可以输入他们选择的任何文件名(无论您在HTML中设置了什么)。还要注意,他们可以通过在文件路径中使用./来上传目录,并删除更高级别的文件
答案 3 :(得分:0)
如果这会有效(它没有),这意味着任何人都可以通过更改href本身删除基本上任何文件。
我不打算抨击你的想法有多糟糕,但是 - 你需要另一个抓取查询字符串然后在目标上运行unlink()
的php文件。