Heim  >  Artikel  >  Backend-Entwicklung  >  Implementieren Sie die PHP-Sicherheitsauthentifizierung mithilfe der Firebase Phone Authentication

Implementieren Sie die PHP-Sicherheitsauthentifizierung mithilfe der Firebase Phone Authentication

PHPz
PHPzOriginal
2023-07-25 13:07:531435Durchsuche

Verwenden Sie die Firebase Phone Authentication, um die PHP-Sicherheitsüberprüfung zu implementieren

Übersicht:
Bei der Entwicklung von Webanwendungen ist die Sicherheitsüberprüfung ein sehr wichtiger Link. Um die Benutzeridentität und Datensicherheit zu gewährleisten, müssen wir Benutzer authentifizieren, wenn sie sich anmelden oder vertrauliche Vorgänge ausführen. Firebase Phone Authentication ist eine leistungsstarke Authentifizierungslösung, die uns bei der Implementierung der Mobiltelefonnummernverifizierung helfen kann. In diesem Artikel wird erläutert, wie Sie die Firebase-Telefonauthentifizierung und PHP zur Implementierung der Sicherheitsüberprüfung verwenden.

Schritt 1: Vorbereitung

  1. Registrieren Sie ein Firebase-Konto und erstellen Sie ein neues Firebase-Projekt.
  2. Aktivieren Sie in der Firebase-Konsole die Funktion „Telefonauthentifizierung“.
  3. Erstellen Sie eine Webseite und stellen Sie das JavaScript SDK von Firebase vor.

    <script src="https://www.gstatic.com/firebasejs/7.8.1/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/7.8.1/firebase-auth.js"></script>

Schritt 2: Firebase-Telefonauthentifizierung integrieren

  1. Erstellen Sie eine PHP-Datei, um Vorgänge im Zusammenhang mit der Firebase-Telefonauthentifizierung abzuwickeln, z. B. das Senden von Bestätigungscodes an Firebase, die Überprüfung von Bestätigungscodes usw. Für die Kommunikation nutzen wir die von Firebase bereitgestellte REST-API.

    <?php
     $phone_number = $_POST['phone_number'];
     $recaptcha_token = $_POST['recaptcha_token'];
    
     $request_body = [
         'phoneNumber' => $phone_number,
         'recaptchaToken' => $recaptcha_token
     ];
    
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[YOUR_API_KEY]');
     curl_setopt($ch, CURLOPT_POST, 1);
     curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($request_body));
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
     $response = curl_exec($ch);
     curl_close($ch);
    
     echo $response;
    ?>

    Hinweis: [YOUR_API_KEY] im obigen Code muss durch den API-Schlüssel ersetzt werden, den Sie in der Firebase-Konsole generiert haben. [YOUR_API_KEY]需要替换成你在Firebase控制台中生成的API密钥。

步骤三:前端代码编写

  1. 在网页上创建一个文本框和按钮,用于输入手机号码并触发发送验证码的操作。

    <input type="text" id="phone_number_input">
    <button onclick="sendVerificationCode()">发送验证码</button>
  2. 创建一个JavaScript函数来处理点击按钮的事件,并发送手机号码到服务器。

    function sendVerificationCode() {
     var phoneNumber = document.getElementById('phone_number_input').value;
     var recaptchaToken = 'YOUR_RECAPTCHA_TOKEN';
    
     var request = new XMLHttpRequest();
     request.open('POST', 'path/to/your/php/file.php');
     request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    
     request.onreadystatechange = function() {
         if (request.readyState === XMLHttpRequest.DONE && request.status === 200) {
             var response = JSON.parse(request.responseText);
             if (response.hasOwnProperty('error')) {
                 console.log('发送验证码失败:' + response.error.message);
             } else {
                 console.log('验证码已发送,请查收。');
             }
         }
     }
    
     var requestBody = 'phone_number=' + encodeURIComponent(phoneNumber) + '&recaptcha_token=' + encodeURIComponent(recaptchaToken);
     request.send(requestBody);
    }

    注意:上述代码中的YOUR_RECAPTCHA_TOKEN

Schritt 3: Schreiben des Front-End-Codes

  1. Erstellen Sie auf der Webseite ein Textfeld und eine Schaltfläche, um die Mobiltelefonnummer einzugeben und die Aktion zum Senden des Bestätigungscodes auszulösen.

    <input type="text" id="verification_code_input">
    <button onclick="verifyVerificationCode()">验证验证码</button>

  2. Erstellen Sie eine JavaScript-Funktion, um das Schaltflächenklickereignis zu verarbeiten und die Mobiltelefonnummer an den Server zu senden.

    function verifyVerificationCode() {
     var verificationCode = document.getElementById('verification_code_input').value;
    
     var credential = firebase.auth.PhoneAuthProvider.credential(window.confirmationResult.verificationId, verificationCode);
     firebase.auth().signInWithCredential(credential)
         .then(function() {
             console.log('验证成功!'); // 验证成功后的操作
         })
         .catch(function(error) {
             console.log('验证失败:' + error.message);
         });
    }

    Hinweis: YOUR_RECAPTCHA_TOKEN im obigen Code muss durch Ihren reCAPTCHA-Site-Schlüssel ersetzt werden, um böswillige Vorgänge zu verhindern.

Schritt 4: Überprüfen Sie den Bestätigungscode


🎜Erstellen Sie ein weiteres Textfeld und eine Schaltfläche auf der Webseite, um den Bestätigungscode einzugeben und den Bestätigungscode-Vorgang auszulösen. 🎜rrreee🎜🎜🎜 Erstellen Sie eine JavaScript-Funktion, um das Schaltflächenklickereignis zu verarbeiten, und senden Sie den Bestätigungscode zur Überprüfung an Firebase. 🎜rrreee🎜🎜🎜Zu diesem Zeitpunkt haben wir alle Schritte zur Implementierung der PHP-Sicherheitsüberprüfung mithilfe der Firebase Phone Authentication abgeschlossen. Wenn der Benutzer nun auf die Schaltfläche „Bestätigungscode senden“ klickt, wird der Bestätigungscode an das Telefon des Benutzers gesendet. Nachdem der Benutzer den Bestätigungscode eingegeben hat, klicken Sie zur Bestätigung auf die Schaltfläche „Bestätigungscode überprüfen“. 🎜🎜Zusammenfassung: 🎜Firebase Phone Authentication bietet eine einfache und leistungsstarke Möglichkeit, die PHP-Sicherheitsauthentifizierung zu implementieren. Durch die Kombination von PHP und der REST-API von Firebase können wir die Benutzerauthentifizierung einfach implementieren und die Sicherheit der Benutzerdaten in unserer Anwendung gewährleisten. Ich hoffe, dieser Artikel ist hilfreich für Sie! 🎜

Das obige ist der detaillierte Inhalt vonImplementieren Sie die PHP-Sicherheitsauthentifizierung mithilfe der Firebase Phone Authentication. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn