我正在創建一個網站,用戶需要能夠上傳圖片,我希望他們能夠刪除這些圖片。現在,我有一個頁面,將顯示該用戶上傳的所有圖像,並且我設置了一個php來刪除數據庫中的圖像。它只需要給出圖像的ID。我使用GET方法運行,但我擔心用戶可以找到我的刪除PHP的URL,並隨機放入ids,刪除所有人的圖像。有沒有一種方法可以調整我的代碼以使其更安全?使用GET方法從數據庫中刪除信息安全嗎?
<?php
$sql = "SELECT id, userid, name, image FROM images";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
if ($imageUser == $row["userid"]){
echo "<tr>";
echo "<th>".$row["userid"]."</th>";
echo "<th>".$row["name"]."</th>";
echo "<th><img src='showimage.php?id=".$row["id"]."'></th>";
echo "<th><a href='imgdelete.php?id=".$row["id"]."'>delete</a></th>";
echo "</tr>";
}
}
} else {
echo "0 results";
}
?>
delete.php簡單地刪除條目WHERE id = $ _ GET ['id'];
用戶登錄\密碼系統將usuall方法 – nogad
檢查[此答案](http://stackoverflow.com/questions/10519064/why-is-using-a-http-get-to-update-state-解釋爲什麼要用post而不是 – Stormhashe
你應該使用post ... post也是一種安全的方法...你可以閱讀一些關於它的內容: https://stormpath.com/blog/put-or-post – Hackerman