Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Sicherheitsauthentifizierung mit Firebase Hosting

PHP-Sicherheitsauthentifizierung mit Firebase Hosting

WBOY
WBOYOriginal
2023-07-24 11:07:481572Durchsuche

PHP-Sicherheitsüberprüfung mit Firebase Hosting

Übersicht:
Firebase Hosting ist ein statischer Webseiten-Hosting-Dienst von Google, der bequem Front-End-Anwendungen hosten kann. Für Websites, die eine dynamische Verarbeitung erfordern, wie z. B. PHP-Websites, die eine Benutzeranmeldung und eine Berechtigungsüberprüfung erfordern, kann Firebase Hosting allein diese Anforderungen jedoch nicht erfüllen. In diesem Artikel wird erläutert, wie Sie PHP für die sichere Authentifizierung in Firebase Hosting verwenden und so sicherstellen, dass nur authentifizierte Benutzer auf vertrauliche Daten zugreifen können.

Schritte:

  1. Erstellen Sie ein Firebase-Projekt und richten Sie Firebase Hosting ein.
    Erstellen Sie ein neues Projekt in der Firebase-Konsole und befolgen Sie die Anweisungen zum Einrichten von Firebase Hosting. Erstellen und veröffentlichen Sie eine statische Webseite als Standard-Homepage.
  2. Firebase Cloud Functions einrichten
    Erstellen Sie im Terminal ein neues Verzeichnis und initialisieren Sie Firebase Cloud Functions mit dem Befehl Firebase Init Functions. Fügen Sie in der generierten Datei index.js den folgenden Code hinzu: 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');
});
  1. 添加 PHP 文件
    在 Firebase Cloud Functions 目录下创建一个名为 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");
  1. 配置 Firebase Hosting
    在 Firebase Hosting 的 firebase.json 配置文件中,添加以下配置:
{
  "hosting": {
    "rewrites": [
      {
        "source": "**",
        "function": "authenticatedRequest"
      }
    ]
  }
}
  1. 部署并测试
    在终端上执行 firebase deploy
  2. rrreee
      PHP-Datei hinzufügen

      Erstellen Sie eine Datei mit dem Namen auth im Firebase Cloud Functions-Verzeichnis .php PHP-Datei zur Implementierung der Verifizierungslogik. Das Folgende ist ein Beispielcode:

      rrreee
        🎜Konfigurieren von Firebase Hosting🎜Fügen Sie in der Konfigurationsdatei firebase.json von Firebase Hosting die folgende Konfiguration hinzu: 🎜🎜rrreee
          🎜Bereitstellen und testen🎜Führen Sie den Befehl Firebase Deploy auf dem Terminal aus, um die PHP-Datei auf Firebase Hosting bereitzustellen. Besuchen Sie dann die von Firebase Hosting gehostete Website, um zu sehen, ob die PHP-Sicherheitsüberprüfung erfolgreich implementiert wurde. 🎜🎜🎜Zusammenfassung: 🎜Durch die oben genannten Schritte haben wir die PHP-Sicherheitsüberprüfung in Firebase Hosting erfolgreich implementiert. In Firebase Cloud Functions richten wir eine Funktion ein, die nur einen bestimmten Schlüssel akzeptiert, um Anfragen zu verarbeiten, die eine Authentifizierung erfordern. Anschließend authentifizieren wir in der PHP-Datei den Benutzer, senden eine GET-Anfrage an Firebase Cloud Functions, um die Daten abzurufen, und leiten den nicht authentifizierten Benutzer um. Auf diese Weise können wir eine sichere PHP-Website implementieren und sicherstellen, dass nur authentifizierte Benutzer auf sensible Daten zugreifen können. 🎜

    Das obige ist der detaillierte Inhalt vonPHP-Sicherheitsauthentifizierung mit Firebase Hosting. 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