安全问题:在 POST 请求中发送访问令牌

问题描述 投票:0回答:1

我正在开发一个简单的 CMS,为了创建、更新和删除帖子,我发送 AJAX 请求。

这是用户向博客添加帖子的方式:

  1. 用户的电子邮件和密码通过 POST 请求使用 AJAX 发送到服务器
    (login.php)
  2. 如果用户 ID 和密码匹配,用户将获得保存在 cookie 中的
    accessToken
$.ajax({
    url: 'add-post.php',
    data: {
        user_id: 123,
        accessToken: 'f0230ce1-5330-41bf-9600-592cfdf3cf0c',
        post_title: 'sample post title'
    }
});

我的问题是,通过 POST 请求向服务器发送

accessToken
是否可以接受?这样做时我应该注意什么安全问题吗?

javascript php ajax
1个回答
-1
投票

更好的做法是在请求标头而不是正文中发送身份验证或授权令牌:

// Send a POST request with the access token in the request header.
$.ajax({
    url: 'foo/bar',
    headers: { 'accessToken': 'f0230ce1-5330-41bf-9600-592cfdf3cf0c' },
    data: {
        user_id: 123,
        post_title: 'sample post title',
    }
});

然后您可以使用

getallheaders()
:

在服务器端获取此标头
$headers = getallheaders();
$accessToken = $headers["accessToken"] ?? null;
© www.soinside.com 2019 - 2024. All rights reserved.