繁体   English   中英

带令牌的安全Web API

[英]Secure web API with token

我需要帮助以了解如何保护API。

我正在一个基于RESTful API和JSON响应的项目​​上。

我有一个Web应用程序和一个移动应用程序,它们发送如下请求:

http://my-server.com/api/v1/products

带有协议(GET,POST,PUT和DELETE)以及最终的参数。

我关心的是从这两个应用程序确保这些调用的安全。 今天,我只是在检查这是否是Ajax调用:

$method = $_SERVER['REQUEST_METHOD'];

    if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
    {
        if ($method == 'GET')
        {
            return $data = $this->stores_model->get_all($select);
        }
    }

但是手机不发送xmlhttprequest吧?

我想我必须检查存储在会话中或移动设备本地的令牌。 我还看到了关于CSRF令牌的几点,每次都会重新生成。

这就是我对安全性的全部了解。 如何获得有关我的体系结构的更多信息?

这是一个非常深入的主题,但是首先您应该在服务器上安装SSL。 我认为这是安全性的起点。

对于JavaScript和浏览器客户端,可以在API上启用cors。 您可以在此处获取有关cors的更多信息。

对于应用程序客户端,可以考虑实现OAuth OAuth 2如今已被广泛使用,易于实现,但您也可以使用OAuth1。检查它们之间的区别,并查看哪种适合您的项目。 您可以在这里找到关于它们的很好的比较。 那里有很好的实现,请检查一下。 OAuth 2的一个示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM