在PHP 中更新記錄時,選擇使用執行操作(通常透過表單和HTTP 方法,如POST 或PUT)還是超連結(通常使用GET 方法)歸結為安全性和最佳實踐。這就是為什麼執行操作是首選:
有問題的範例:
<a href="update.php?id=123">Update</a>
任何人都可以操縱 URL 中的 id 來篡改未經授權的記錄。
推薦範例:
<form action="update.php" method="POST"> <input type="hidden" name="id" value="123"> <button type="submit">Update</button> </form>
HTTP 協定對每個方法都有明確的意圖:
使用GET 進行更新或刪除等操作違反了這些約定,並且可能會混淆緩存或代理等中介機構,這些中介機構可能會將GET 請求視為安全且無副作用。
使用表單可以無縫整合其他安全措施,例如:
使用執行操作(透過 POST 或 PUT 的表單)來更新記錄是建議的方法。這可確保更好的安全性、符合 HTTP 約定並降低意外操作的風險。超連結應保留用於不會改變系統狀態的導航或唯讀操作。
以上是為什麼使用 POST 進行更新比超連結更安全的詳細內容。更多資訊請關注PHP中文網其他相關文章!