透過 Firebase Hosting 實作 PHP 安全驗證
概述:
Firebase Hosting 是Google提供的靜態網頁寄存服務,它可以方便地託管前端應用程式。然而,對於需要動態處理的網站,例如需要進行使用者登入和權限驗證的 PHP 網站,Firebase Hosting 單靠自身是無法滿足需求的。本文將介紹如何在 Firebase Hosting 中使用 PHP 進行安全驗證,確保只有經過驗證的使用者能夠存取敏感資料。
步驟:
firebase init functions
指令初始化 Firebase Cloud Functions。在產生的index.js
檔案中,加入以下程式碼:const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(); exports.authenticatedRequest = functions.https.onRequest((req, res) => { const key = req.query.key; if (key !== 'YOUR_SECRET_KEY') { return res.status(403).send('Forbidden'); } // 进行自定义的权限验证逻辑 // ... // 返回需要进行身份验证的数据 res.send('Authenticated data'); });
auth.php
的PHP 文件,用於實作驗證邏輯。以下是一個範例程式碼:<?php $key = "YOUR_SECRET_KEY"; $url = "https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/authenticatedRequest?key=".$key; // 如果请求带有 cookie,并且 cookie 中包含用户的身份信息 if(isset($_COOKIE['uid'])) { // 验证用户身份,例如从数据库中查询用户信息 $uid = $_COOKIE['uid']; $result = // 验证逻辑 if ($result === true) { // 身份验证通过,发送 GET 请求获取数据 $data = file_get_contents($url); echo $data; exit; } } // 身份验证未通过,跳转到登录页面 header("Location: login.php");
firebase.json
設定檔中,新增以下設定:{ "hosting": { "rewrites": [ { "source": "**", "function": "authenticatedRequest" } ] } }
firebase deploy
指令,將PHP 檔案部署到Firebase Hosting。然後,造訪 Firebase Hosting 託管的網站,查看是否成功實現了 PHP 安全驗證。 總結:
透過上述步驟,我們成功地在 Firebase Hosting 中實作了 PHP 安全驗證。在 Firebase Cloud Functions 中,我們設定了一個僅接受特定金鑰的函數,用於處理需要驗證的請求。然後,在 PHP 檔案中,我們透過驗證使用者的身份訊息,向 Firebase Cloud Functions 發送 GET 請求獲取數據,並對未通過身份驗證的使用者進行重定向。這樣,我們可以實作一個安全的 PHP 網站,並確保只有經過驗證的使用者能夠存取敏感資料。
以上是透過 Firebase Hosting 實現 PHP 安全驗證的詳細內容。更多資訊請關注PHP中文網其他相關文章!