簡體   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