Verwenden Sie OneSignal, um die PHP-Sicherheitsüberprüfung zu implementieren
Übersicht:
OneSignal ist ein plattformübergreifender Push-Dienstanbieter, der Entwickler beim Senden von Push-Benachrichtigungen an Benutzer unterstützen kann. Um die Sicherheit von Push-Benachrichtigungen bei der Nutzung von OneSignal zu gewährleisten, ist eine Authentifizierung erforderlich. In diesem Artikel wird erläutert, wie Sie PHP zur Implementierung der OneSignal-Sicherheitsüberprüfung verwenden.
Schritte:
Im Folgenden sind die Schritte zur Implementierung der OneSignal-Sicherheitsüberprüfung mit PHP aufgeführt:
Erstellen Sie die Überprüfungsfunktion:
In PHP können wir die Curl-Funktionsbibliothek verwenden, um HTTP-Anfragen zu senden. Als nächstes müssen wir eine Funktion erstellen, die überprüft, ob die OneSignal-Anfrage legitim ist.
function validate_onesignal_request($api_key, $body, $timestamp, $signature) { // 构建用于验证的字符串 $payload = $body . $timestamp; // 计算签名 $computed_signature = hash_hmac('sha256', $payload, $api_key); // 对比签名 return $computed_signature === $signature; }
Im obigen Code verwenden wir die Funktion hash_hmac
, um die Signatur der Anfrage zu berechnen und vergleichen dann die berechnete Signatur mit der Signatur in der Anfrage. Wenn beide übereinstimmen, ist die Anfrage legitim. hash_hmac
函数计算请求的签名,然后将计算得到的签名与请求中的签名进行对比。如果两者一致,说明请求合法。
接收 OneSignal 请求并验证:
我们需要构建一个 PHP 接口来接收 OneSignal 的请求,并进行验证。以下是一个简单的示例:
$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
)和签名($signature
)。然后,我们调用 validate_onesignal_request
$body
), den Zeitstempel ($timestamp
) und die Signatur ( $signatur
). Anschließend rufen wir die Funktion validate_onesignal_request
auf, um die Gültigkeit der Anfrage zu überprüfen. Wenn die Anfrage zulässig ist, fahren Sie mit der Verarbeitung der Push-Benachrichtigungslogik fort. Wenn die Anfrage illegal ist, wird eine Fehlerantwort zurückgegeben. Das obige ist der detaillierte Inhalt vonImplementierung der PHP-Sicherheitsüberprüfung mit OneSignal. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!