Firebase Hosting による PHP セキュリティ検証
概要:
Firebase Hosting は、Google が提供する静的 Web ページ ホスティング サービスで、フロントエンド アプリケーションを簡単にホストできます。ただし、ユーザーのログインや権限の確認が必要な PHP ウェブサイトなど、動的な処理が必要なウェブサイトの場合、Firebase Hosting だけではニーズを満たすことができません。この記事では、Firebase Hosting で PHP を使用して安全な認証を行い、認証されたユーザーのみが機密データにアクセスできるようにする方法について説明します。
手順:
firebase init function
コマンドを使用して 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'); });
の 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");
構成ファイルに、次の構成を追加します:
{ "hosting": { "rewrites": [ { "source": "**", "function": "authenticatedRequest" } ] } }
コマンドを実行して、PHP ファイルを Firebase Hosting にデプロイします。次に、Firebase Hosting によってホストされている Web サイトにアクセスして、PHP セキュリティ検証が正常に実装されているかどうかを確認します。
上記の手順により、Firebase Hosting に PHP セキュリティ検証を正常に実装できました。 Firebase Cloud Functions では、認証が必要なリクエストを処理するために、特定のキーのみを受け入れる関数を設定します。次に、PHP ファイルでユーザーを認証し、Firebase Cloud Functions に GET リクエストを送信してデータを取得し、認証されていないユーザーをリダイレクトします。このようにして、安全な PHP Web サイトを実装し、認証されたユーザーのみが機密データにアクセスできるようにすることができます。
以上がFirebase Hosting を使用した PHP セキュリティ認証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。