>백엔드 개발 >PHP 튜토리얼 >Firebase 호스팅을 사용한 PHP 보안 인증

Firebase 호스팅을 사용한 PHP 보안 인증

WBOY
WBOY원래의
2023-07-24 11:07:481572검색

Firebase 호스팅을 통한 PHP 보안 확인

개요:
Firebase 호스팅은 프런트 엔드 애플리케이션을 편리하게 호스팅할 수 있는 Google에서 제공하는 정적 웹 페이지 호스팅 서비스입니다. 그러나 사용자 로그인 및 권한 확인이 필요한 PHP 웹사이트와 같이 동적 처리가 필요한 웹사이트의 경우 Firebase 호스팅만으로는 이러한 요구 사항을 충족할 수 없습니다. 이 문서에서는 인증된 사용자만 민감한 데이터에 액세스할 수 있도록 보장하기 위해 Firebase 호스팅에서 보안 인증을 위해 PHP를 사용하는 방법을 설명합니다.

단계:

  1. Firebase 프로젝트 만들기 및 Firebase 호스팅 설정
    Firebase 콘솔에서 새 프로젝트를 만들고 지침에 따라 Firebase 호스팅을 설정하세요. 정적 웹 페이지를 기본 홈 페이지로 만들고 게시합니다.
  2. Firebase Cloud Functions 설정
    터미널에서 firebase init function 명령을 사용하여 새 디렉터리를 만들고 Firebase Cloud Functions를 초기화합니다. 생성된 index.js 파일에 다음 코드를 추가합니다. 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 파일 추가

      Firebase Cloud Functions 디렉터리에 auth라는 파일을 만듭니다. .php 확인 논리를 구현하는 데 사용되는 PHP 파일입니다. 다음은 샘플 코드입니다.

      rrreee
        🎜Firebase 호스팅 구성🎜Firebase 호스팅의 firebase.json 구성 파일에 다음 구성을 추가합니다. 🎜🎜rrreee
          🎜배포 및 테스트🎜터미널에서 firebase 배포 명령을 실행하여 PHP 파일을 Firebase 호스팅에 배포합니다. 그런 다음 Firebase 호스팅에서 호스팅하는 웹사이트를 방문하여 PHP 보안 확인이 성공적으로 구현되었는지 확인하세요. 🎜🎜🎜요약: 🎜위 단계를 통해 Firebase 호스팅에서 PHP 보안 확인을 성공적으로 구현했습니다. Firebase Cloud Functions에서는 인증이 필요한 요청을 처리하기 위해 특정 키만 허용하는 함수를 설정했습니다. 그런 다음 PHP 파일에서 사용자를 인증하고 Firebase Cloud Functions에 GET 요청을 보내 데이터를 가져온 다음 인증되지 않은 사용자를 리디렉션합니다. 이런 방식으로 우리는 안전한 PHP 웹사이트를 구현하고 인증된 사용자만 민감한 데이터에 접근할 수 있도록 보장할 수 있습니다. 🎜

    위 내용은 Firebase 호스팅을 사용한 PHP 보안 인증의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.