我的客户端有一个html表单,用ajax向我的服务器发送数据。问题是任何人都可以更改输入值(右键单击"检查元素"使用chrome),数据获取服务器端可能是错误的。
例:
1.我的HTML表单
2.我用ajax发送数据到我的服务器
3.使用PHP我从客户端获取数据
<form>
<input type="hidden" name="user_id" value="<?php echo $user_id; ?>">
<input id="send" type="submit" value="send">
</form>
$('#send').on('click', function(){
var user_id = jQuery('input[name="user_id"]').val();
jQuery.ajax({
type: 'POST',
url: 'wp-admin/admin-ajax.php',
data:{
'action':'my_form',
'user_id': user_id,
},
success:function(data){
console.log(data);
}
});
});
function my_form(){
$user_id = $_REQUEST['user_id'];
}
任何人都可以更改隐藏的&#34; user_id&#34;字段并将值设置为123或4856。在$ user_id服务器端获取的数据可能是错误的。 那么我该怎么做才能确保来自客户端的数据是正确的?
p.s:对不起我的英文
答案 0 :(得分:0)
如果它是登录用户ID,那么不要信任客户端值而不是在PHP代码中使用以下
$current_user = wp_get_current_user();
$userid = $current_user->ID;
https://codex.wordpress.org/Function_Reference/wp_get_current_user