ホームページ >バックエンド開発 >PHPチュートリアル >OneSignal を使用した PHP セキュリティ検証の実装

OneSignal を使用した PHP セキュリティ検証の実装

王林
王林オリジナル
2023-07-25 11:27:341501ブラウズ

OneSignal を使用して PHP セキュリティ検証を実装する

概要:
OneSignal は、開発者がユーザーにプッシュ通知を送信するのに役立つクロスプラットフォームのプッシュ サービス プロバイダーです。 OneSignal を使用する場合、プッシュ通知のセキュリティを確保するには、認証が必要です。この記事では、PHP を使用して OneSignal のセキュリティ検証を実装する方法を紹介します。

手順:
PHP を使用して OneSignal セキュリティ検証を実装する手順は次のとおりです:

  1. API キーを登録して取得します:
    最初に、登録する必要がありますOneSignal公式Webサイトでアカウントを取得し、アプリを作成します。アプリを作成すると、OneSignal への認証に使用する API キーを取得します。
  2. 検証関数を構築します:
    PHP では、curl 関数ライブラリを使用して HTTP リクエストを送信できます。次に、OneSignal リクエストが正当であるかどうかを検証する関数を構築する必要があります。

    function validate_onesignal_request($api_key, $body, $timestamp, $signature) {
        // 构建用于验证的字符串
        $payload = $body . $timestamp;
        
        // 计算签名
        $computed_signature = hash_hmac('sha256', $payload, $api_key);
        
        // 对比签名
        return $computed_signature === $signature;
    }

    上記のコードでは、hash_hmac 関数を使用してリクエストの署名を計算し、計算された署名をリクエスト内の署名と比較します。この 2 つが一致する場合、そのリクエストは正当です。

  3. OneSignal リクエストを受信して​​検証する:
    OneSignal リクエストを受信して​​検証するための PHP インターフェイスを構築する必要があります。簡単な例を次に示します。

    $api_key = "API_KEY"; // 替换为您的 API 密钥
    
    // 检查请求方法是否为 POST
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $body = file_get_contents('php://input');
        $timestamp = $_SERVER['HTTP_X_ONESIGNAL_TIMESTAMP'];
        $signature = $_SERVER['HTTP_X_ONESIGNAL_SIGNATURE'];
        
        // 验证 OneSignal 请求
        if (validate_onesignal_request($api_key, $body, $timestamp, $signature)) {
            // 请求合法,处理推送通知逻辑
            // ...
            // 此处添加您的推送通知处理逻辑
            // ...
            
            // 返回合法响应
            http_response_code(200);
        } else {
            // 请求非法,返回错误响应
            http_response_code(403);
        }
    } else {
        // 非法请求方法,返回错误响应
        http_response_code(400);
    }

    上記のコードでは、まず、要求されたコンテンツ ($body)、タイムスタンプ ($timestamp)、および署名 ($署名)。次に、validate_onesignal_request 関数を呼び出して、リクエストの正当性を検証します。リクエストが正当な場合は、プッシュ通知ロジックの処理を続行します。リクエストが不正な場合は、エラー応答が返されます。

  4. コードをデプロイしてテストします。
    上記のコードを PHP ファイルとして保存し、そのファイルをサーバーにデプロイします。最後に、Postman などのツールを使用してテスト リクエストを送信し、正しい応答が返されることを確認できます。

概要:
この記事では、PHP を使用して OneSignal セキュリティ検証を実装する方法を紹介します。検証関数と対応する PHP インターフェイスを作成することで、OneSignal リクエストの正当性を保証できます。このようにして、OneSignal を使用してユーザーに自信を持ってプッシュ通知を送信し、通知を安全に保つことができます。この記事があなたの開発作業に役立つことを願っています。

以上がOneSignal を使用した PHP セキュリティ検証の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。