OneSignal을 사용하여 PHP 보안 확인 구현
개요:
OneSignal은 개발자가 사용자에게 푸시 알림을 보내는 데 도움을 주는 크로스 플랫폼 푸시 서비스 제공업체입니다. OneSignal 사용 시 푸시 알림의 보안을 보장하기 위해 인증이 필요합니다. 이 기사에서는 PHP를 사용하여 OneSignal 보안 확인을 구현하는 방법을 소개합니다.
단계:
다음은 PHP를 사용하여 OneSignal 보안 확인을 구현하는 단계입니다.
확인 기능 구축:
PHP에서는 컬 기능 라이브러리를 사용하여 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
함수를 사용하여 요청의 서명을 계산한 다음 계산된 서명을 요청의 서명과 비교합니다. 두 가지가 일치하면 해당 요청은 적법합니다. 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
), 타임스탬프($timestamp
) 및 서명()을 가져옵니다. $서명). 그런 다음 validate_onesignal_request
함수를 호출하여 요청의 유효성을 확인합니다. 요청이 합법적이면 푸시 알림 논리를 계속 처리하고, 요청이 불법이면 오류 응답이 반환됩니다. 위 내용은 使用 OneSignal 实现 PHP 安全验证의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!