這是一個很好的方法,通過javascript調用php函數?在php中處理ajax請求的最佳方法
我POST數據是這樣的:
{
0: [
{
"name": "function",
"value": "toggle_user_status"
}
],
1: [
{
"name": "user_id",
"value": "1"
}
],
...
...
}
而且我的Ajax類看起來是這樣的:
<?php
class Ajax
{
public function handleAjax() {
$load_function = $_POST['function'];
return call_user_func(array($this,$load_function));
}
private function toggle_user_status() {
return '555nase';
}
}
我知道$ _ POST變種是不是安全的,但是這不是問題的關鍵。我想知道如果這是一個好方法來調用函數或不... ...?
PS:網址http://local.yolo/admin/ajax只接受來自請求登錄管理員
不理想的是,什麼阻止我編輯你的JS(像Firebug之類的東西),並改變它來運行'delete_all_users()'?我知道猜測一個函數名稱並不容易(你可能永遠不會有這個函數),但是如果你真的這麼做了, – naththedeveloper
這是非常不安全的。認真。假設有人編輯發佈數據來調用'delete'函數。你要嗎? No. – ex3v
您需要驗證您的輸入。調用本身對我來說很好(雖然不理想) - 如果你檢查參數(允許的函數,允許的參數)... – thedom