ホームページ  >  記事  >  バックエンド開発  >  Firebase Hosting を使用した PHP セキュリティ認証

Firebase Hosting を使用した PHP セキュリティ認証

WBOY
WBOYオリジナル
2023-07-24 11:07:481535ブラウズ

Firebase Hosting による PHP セキュリティ検証

概要:
Firebase Hosting は、Google が提供する静的 Web ページ ホスティング サービスで、フロントエンド アプリケーションを簡単にホストできます。ただし、ユーザーのログインや権限の確認が必要な PHP ウェブサイトなど、動的な処理が必要なウェブサイトの場合、Firebase Hosting だけではニーズを満たすことができません。この記事では、Firebase Hosting で PHP を使用して安全な認証を行い、認証されたユーザーのみが機密データにアクセスできるようにする方法について説明します。

手順:

  1. Firebase プロジェクトを作成し、Firebase Hosting を設定する
    Firebase コンソールで新しいプロジェクトを作成し、指示に従って Firebase Hosting を設定します。静的 Web ページをデフォルトのホームページとして作成して公開します。
  2. Firebase Cloud Functions のセットアップ
    ターミナルで新しいディレクトリを作成し、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');
});
  1. PHP ファイルを追加
    Firebase Cloud Functions ディレクトリに ## という名前のファイルを作成します#auth.php の PHP ファイルは、検証ロジックの実装に使用されます。以下はサンプル コードです:
  2. <?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 Hosting の構成
  1. Firebase Hosting の
    firebase.json 構成ファイルに、次の構成を追加します:
  2. {
      "hosting": {
        "rewrites": [
          {
            "source": "**",
            "function": "authenticatedRequest"
          }
        ]
      }
    }
    デプロイとテスト
  1. ターミナルで
    firebasedeploy コマンドを実行して、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。