我认为将“user_id”放在客户端 HTML 中并发送回服务器不是一个好主意。您需要对从客户端发送的数据进行更多验证(进行一些检查和过滤)。
我建议使用会话而不是将其发送给客户端,但是如果同时编辑两个或更多数据(多选项卡)会出现问题,因此您需要使用会话和一些技巧。
有了这个例子,你的真实user_id
将永远不会发送给客户。
索引.php:
session_start();
$edit_session_id = md5(uniqid() . microtime(true));
$_SESSION['edit_' . $edit_session_id] = $user_id;
ajax.js:
var edit_session_id = $('#edit_session_id').val();
$.ajax({
url : "process.php",
method : "POST",
data : {'edit_session_id' : edit_session_id},
cache : false,
success : function(data) {
// do code
}
);
进程.php:
session_start();
$edit_session_id = $_POST['edit_session_id'];
if(!isset($_SESSION['edit_' . $edit_session_id]))
{
die('Invalid edit session, please go back & refresh');
}
$user_id = $_SESSION['edit_' . $edit_session_id];
// Do something with user_id
//Clear the editing session
unset($_SESSION['edit_' . $edit_session_id]);