>  기사  >  백엔드 개발  >  使用 OneSignal 实现 PHP 安全验证

使用 OneSignal 实现 PHP 安全验证

王林
王林원래의
2023-07-25 11:27:341478검색

OneSignal을 사용하여 PHP 보안 확인 구현

개요:
OneSignal은 개발자가 사용자에게 푸시 알림을 보내는 데 도움을 주는 크로스 플랫폼 푸시 서비스 제공업체입니다. OneSignal 사용 시 푸시 알림의 보안을 보장하기 위해 인증이 필요합니다. 이 기사에서는 PHP를 사용하여 OneSignal 보안 확인을 구현하는 방법을 소개합니다.

단계:
다음은 PHP를 사용하여 OneSignal 보안 확인을 구현하는 단계입니다.

  1. 등록 및 API 키 획득:
    먼저 OneSignal 공식 웹사이트에 계정을 등록하고 애플리케이션을 만들어야 합니다. 앱을 만든 후에는 OneSignal에 인증하는 데 사용하는 API 키를 받게 됩니다.
  2. 확인 기능 구축:
    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 函数计算请求的签名,然后将计算得到的签名与请求中的签名进行对比。如果两者一致,说明请求合法。

  3. 接收 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

  4. OneSignal 요청 수신 및 확인:
    OneSignal 요청을 수신하고 확인하려면 PHP 인터페이스를 구축해야 합니다. 다음은 간단한 예입니다.
  5. rrreee
위 코드에서는 먼저 요청된 콘텐츠($body), 타임스탬프($timestamp) 및 서명()을 가져옵니다. $서명). 그런 다음 validate_onesignal_request 함수를 호출하여 요청의 유효성을 확인합니다. 요청이 합법적이면 푸시 알림 논리를 계속 처리하고, 요청이 불법이면 오류 응답이 반환됩니다.


코드 배포 및 테스트: 🎜위 코드를 PHP 파일로 저장하고 해당 파일을 서버에 배포합니다. 마지막으로 Postman과 같은 도구를 사용하여 테스트 요청을 보내고 올바른 응답이 반환되는지 확인할 수 있습니다. 🎜🎜🎜요약: 🎜이 글에서는 PHP를 사용하여 OneSignal 보안 확인을 구현하는 방법을 소개합니다. 확인 기능과 해당 PHP 인터페이스를 작성함으로써 OneSignal 요청의 적법성을 보장할 수 있습니다. 이렇게 하면 OneSignal을 사용하여 사용자에게 자신 있게 푸시 알림을 보내고 알림을 안전하게 유지할 수 있습니다. 이 기사가 귀하의 개발 작업에 도움이 되기를 바랍니다! 🎜

위 내용은 使用 OneSignal 实现 PHP 安全验证의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:다음 기사: