Heim > Artikel > Backend-Entwicklung > Implementieren Sie die PHP-Sicherheitsauthentifizierung mithilfe der Firebase Phone Authentication
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
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
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密钥。
步骤三:前端代码编写
在网页上创建一个文本框和按钮,用于输入手机号码并触发发送验证码的操作。
<input type="text" id="phone_number_input"> <button onclick="sendVerificationCode()">发送验证码</button>
创建一个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
<input type="text" id="verification_code_input"> <button onclick="verifyVerificationCode()">验证验证码</button>
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. 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!