我在我的PHP應用程序中使用了大量的Ajax,並且通常用於路由POST請求以進行處理,我檢查期望的變量和值並基於我處理腳本。
例如,如果我想刪除或使用AJAX我將處理POST請求會像
//Initialize the class on top of the page that will be dealing with CRUD functions.
$class = new CRUD();
//Delete Something
if(isset($_POST['option']) && $_POST['option'] == 'delete-something') {
//Delete logic.
}
//Save Something
if(isset($_POST['option']) && $_POST['option'] == 'save-something') {
//Save logic.
}
等典型的PHP文件中插入一些東西。我只是想知道如果代碼if(isset($_POST['option']) && $_POST['option'] == 'delete-something')
會給我保護,防止未經授權的請求。或者我應該在條件下使用$_SERVER['REQUEST_METHOD'] == 'POST'
。兩者真的有什麼區別嗎?因爲我看到很多使用$_SERVER['REQUEST_METHOD'] == 'POST'
的開發者。
你是什麼意思未經授權?該代碼不會執行任何授權/驗證檢查。 – Fabio
我的理解是,如果您清理任何用戶輸入,並使用POST進行類似的操作 - >您可以最大限度地減少未授權請求的可能性。 –
超級全局變量總是「設置」,因此無論當前請求是否通過POST實際完成,isset($ _ POST)都爲true。 –