OneSignal を使用して PHP セキュリティ検証を実装する
概要:
OneSignal は、開発者がユーザーにプッシュ通知を送信するのに役立つクロスプラットフォームのプッシュ サービス プロバイダーです。 OneSignal を使用する場合、プッシュ通知のセキュリティを確保するには、認証が必要です。この記事では、PHP を使用して OneSignal のセキュリティ検証を実装する方法を紹介します。
手順:
PHP を使用して OneSignal セキュリティ検証を実装する手順は次のとおりです:
検証関数を構築します:
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 つが一致する場合、そのリクエストは正当です。
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
関数を呼び出して、リクエストの正当性を検証します。リクエストが正当な場合は、プッシュ通知ロジックの処理を続行します。リクエストが不正な場合は、エラー応答が返されます。
概要:
この記事では、PHP を使用して OneSignal セキュリティ検証を実装する方法を紹介します。検証関数と対応する PHP インターフェイスを作成することで、OneSignal リクエストの正当性を保証できます。このようにして、OneSignal を使用してユーザーに自信を持ってプッシュ通知を送信し、通知を安全に保つことができます。この記事があなたの開発作業に役立つことを願っています。
以上がOneSignal を使用した PHP セキュリティ検証の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。