代码之家  ›  专栏  ›  技术社区  ›  Frank Martin

使用随机会话号保护Web API

  •  0
  • Frank Martin  · 技术社区  · 6 年前

    我在MVC中创建了一个web api/restapi,其中每个api接受一个名为 user_session

    因此,当用户登录时,我会生成一个10位数的会话,并将其传递给用户,用户需要为任何后续的API调用提供输入。

    下面是我的典型代码:

    $.ajax({
       url: '@Url.Action("GetUserDetail", "myapi")',
             type: "GET",
            data: { UserID: '@user.user_id', SessionID: '@user_session' },
            dataType: "json",
            success: function (response) {
            }
    })
    

    我的问题是,这是正确的方法还是有更好的方法?安全吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Deva Gerald    6 年前

    你可以很好地使用 HTTP Cookies 用于记住会话,而不是手动将其作为每个请求的参数传递。

    我将对这个问题作很简短的解释。

    1. 服务器在用户登录时设置cookie。
    2. 此cookie将被发送到定义为HTTP cookie的所有API调用。
    3. 服务器可以使用请求头中的这个cookie值来验证或了解会话。