簡體   English   中英

使用php中的鏈接刪除文件

[英]Deleting a file using a link in php

我正在制作一個在獨立電腦上運行的內部網客戶經理。 商店將為每個客戶記錄添加文件,當每個記錄加載時,每個客戶文件夾的內容在A標簽內的屏幕上回顯,以便工作人員可以點擊它並查看已添加的文件那個客戶。

我正在嘗試為每個用戶記錄頁面添加刪除鏈接,但我沒有太多運氣。 我使用以下內容,我不確定是否需要另外一個php文件來刪除,或者我是否可以將它放入這樣的鏈接中?

 echo '<a href="unlink(./customer-files/'.$customerID.'/'.$filename->getFilename().');">Delete File</a>';

單擊鏈接時,我得到的是>>

The requested URL /customermgr/unlink(./customer-files/5/customeraddnewfile.jpg); was     not found on this server.

編輯>>>>

這是一個本地安裝,沒有連接到互聯網,所以安全性不是問題,因為沒有人有機會因為沒有連接到互聯網而進入這個問題。 我只是在尋找最快捷,最簡單的方法,而不必編寫太多的額外代碼:)。

你...試圖在服務器上運行任意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);

但請注意安全隱患。 例如,確保文件名中沒有../實例。

你不能這樣做。 您需要在單獨的文件中進行unlink調用。 在鏈接中,您為要刪除的文件提供id或其他信息,然后在另一個文件中,您將獲得此ID並刪除相應的文件(在檢查操作后)。

例如:

在您的鏈接文件中:

<a href="unlink.php?name=customernewfile.jpg">Delete me !</a>

在你的“unlink.php”文件中:

...
unlink('my/path/to/files/'.$_GET['name']);

這是一個不可靠的例子,不要像這樣使用它。

您不能像通過HTML那樣運行這樣的命令。 您需要創建一個新的PHP文件並鏈接到該文件:

<a href='delete-file.php?file=fileid'>

然后php頁面將運行unlink命令。

但請注意,這里存在嚴重的安全問題,因為人們可以輸入他們選擇的任何文件名(無論您在HTML中設置了什么)。 還要注意,他們可以通過在文件路徑中使用./來上傳目錄,並刪除更高級別的文件

如果這可行(它沒有),那就意味着任何人都可以通過更改href本身來刪除基本上任何文件。

我不打算抨擊你的想法有多糟糕,但是 - 你需要另一個抓取查詢字符串的php文件,然后在目標上運行unlink()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM