현재 위치: > 최신 기사 목록> FusionAuth를 사용하여 PHP 보안 검증 구현에 대한 완전한 안내서

FusionAuth를 사용하여 PHP 보안 검증 구현에 대한 완전한 안내서

gitbox 2025-06-16

소개

웹 애플리케이션 개발에서 보안 검증이 중요합니다. 공인 사용자 만 민감한 정보 및 기능에 액세스하여 시스템 및 사용자의 보안을 보호합니다. 이 기사는 FusionAuth를 통해 PHP 응용 프로그램에서 보안 검증을 구현하는 방법을 소개하여 개발자가 사용자 관리, 등록, 로그인 및 권한 제어를 쉽게 통합 할 수 있도록 도와줍니다.

Fusionauth 소개

FusionAuth는 완전한 사용자 인증 솔루션을 제공하는 오픈 소스 인증 및 사용자 관리 플랫폼입니다. 사용자 등록, 로그인, 비밀번호 재설정 및 기타 기능을 지원하며 유연한 권한 제어 메커니즘이 있습니다. FusionAuth를 통해 개발자는 세분화 된 권한 관리를 구현하여 승인 된 사용자 만 특정 리소스에 액세스 할 수 있도록합니다.

PHP 보안 검증 구현 단계

  • FusionAuth 설치 : 먼저 서버에 FusionAuth를 설치해야합니다. 공식 웹 사이트를 방문하여 최신 설치 패키지를 다운로드하고 공식 문서의 단계를 따라 구성 할 수 있습니다.
  • <div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl"> php-template </div><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"><button class="flex gap-1 items-center select-none py-1" aria-label="복사"><svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="icon-xs"><path d="M12.668 10.667C12.668 9.95614 12.668 9.46258 12.6367 9.0791C12.6137 8.79732 12.5758 8.60761 12.5244 8.46387L12.4688 8.33399C12.3148 8.03193 12.0803 7.77885 11.793 7.60254L11.666 7.53125C11.508 7.45087 11.2963 7.39395 10.9209 7.36328C10.5374 7.33197 10.0439 7.33203 9.33301 7.33203H6.5C5.78896 7.33203 5.29563 7.33195 4.91211 7.36328C4.63016 7.38632 4.44065 7.42413 4.29688 7.47559L4.16699 7.53125C3.86488 7.68518 3.61186 7.9196 3.43555 8.20703L3.36524 8.33399C3.28478 8.49198 3.22795 8.70352 3.19727 9.0791C3.16595 9.46259 3.16504 9.95611 3.16504 10.667V13.5C3.16504 14.211 3.16593 14.7044 3.19727 15.0879C3.22797 15.4636 3.28473 15.675 3.36524 15.833L3.43555 15.959C3.61186 16.2466 3.86474 16.4807 4.16699 16.6348L4.29688 16.6914C4.44063 16.7428 4.63025 16.7797 4.91211 16.8027C5.29563 16.8341 5.78896 16.835 6.5 16.835H9.33301C10.0439 16.835 10.5374 16.8341 10.9209 16.8027C11.2965 16.772 11.508 16.7152 11.666 16.6348L11.793 16.5645C12.0804 16.3881 12.3148 16.1351 12.4688 15.833L12.5244 15.7031C12.5759 15.5594 12.6137 15.3698 12.6367 15.0879C12.6681 14.7044 12.668 14.211 12.668 13.5V10.667ZM13.998 12.665C14.4528 12.6634 14.8011 12.6602 15.0879 12.6367C15.4635 12.606 15.675 12.5492 15.833 12.4688L15.959 12.3975C16.2466 12.2211 16.4808 11.9682 16.6348 11.666L16.6914 11.5361C16.7428 11.3924 16.7797 11.2026 16.8027 10.9209C16.8341 10.5374 16.835 10.0439 16.835 9.33301V6.5C16.835 5.78896 16.8341 5.29563 16.8027 4.91211C16.7797 4.63025 16.7428 4.44063 16.6914 4.29688L16.6348 4.16699C16.4807 3.86474 16.2466 3.61186 15.959 3.43555L15.833 3.36524C15.675 3.28473 15.4636 3.22797 15.0879 3.19727C14.7044 3.16593 14.211 3.16504 13.5 3.16504H10.667C9.9561 3.16504 9.46259 3.16595 9.0791 3.19727C8.79739 3.22028 8.6076 3.2572 8.46387 3.30859L8.33399 3.36524C8.03176 3.51923 7.77886 3.75343 7.60254 4.04102L7.53125 4.16699C7.4508 4.32498 7.39397 4.53655 7.36328 4.91211C7.33985 5.19893 7.33562 5.54719 7.33399 6.00195H9.33301C10.022 6.00195 10.5791 6.00131 11.0293 6.03809C11.4873 6.07551 11.8937 6.15471 12.2705 6.34668L12.4883 6.46875C12.984 6.7728 13.3878 7.20854 13.6533 7.72949L13.7197 7.87207C13.8642 8.20859 13.9292 8.56974 13.9619 8.9707C13.9987 9.42092 13.998 9.97799 13.998 10.667V12.665ZM18.165 9.33301C18.165 10.022 18.1657 10.5791 18.1289 11.0293C18.0961 11.4302 18.0311 11.7914 17.8867 12.1279L17.8203 12.2705C17.5549 12.7914 17.1509 13.2272 16.6553 13.5313L16.4365 13.6533C16.0599 13.8452 15.6541 13.9245 15.1963 13.9619C14.8593 13.9895 14.4624 13.9935 13.9951 13.9951C13.9935 14.4624 13.9895 14.8593 13.9619 15.1963C13.9292 15.597 13.864 15.9576 13.7197 16.2939L13.6533 16.4365C13.3878 16.9576 12.9841 17.3941 12.4883 17.6982L12.2705 17.8203C11.8937 18.0123 11.4873 18.0915 11.0293 18.1289C10.5791 18.1657 10.022 18.165 9.33301 18.165H6.5C5.81091 18.165 5.25395 18.1657 4.80371 18.1289C4.40306 18.0962 4.04235 18.031 3.70606 17.8867L3.56348 17.8203C3.04244 17.5548 2.60585 17.151 2.30176 16.6553L2.17969 16.4365C1.98788 16.0599 1.90851 15.6541 1.87109 15.1963C1.83431 14.746 1.83496 14.1891 1.83496 13.5V10.667C1.83496 9.978 1.83432 9.42091 1.87109 8.9707C1.90851 8.5127 1.98772 8.10625 2.17969 7.72949L2.30176 7.51172C2.60586 7.0159 3.04236 6.6122 3.56348 6.34668L3.70606 6.28027C4.04237 6.136 4.40303 6.07083 4.80371 6.03809C5.14051 6.01057 5.53708 6.00551 6.00391 6.00391C6.00551 5.53708 6.01057 5.14051 6.03809 4.80371C6.0755 4.34588 6.15483 3.94012 6.34668 3.56348L6.46875 3.34473C6.77282 2.84912 7.20856 2.44514 7.72949 2.17969L7.87207 2.11328C8.20855 1.96886 8.56979 1.90385 8.9707 1.87109C9.42091 1.83432 9.978 1.83496 10.667 1.83496H13.5C14.1891 1.83496 14.746 1.83431 15.1963 1.87109C15.6541 1.90851 16.0599 1.98788 16.4365 2.17969L16.6553 2.30176C17.151 2.60585 17.5548 3.04244 17.8203 3.56348L17.8867 3.70606C18.031 4.04235 18.0962 4.40306 18.1289 4.80371C18.1657 5.25395 18.165 5.81091 18.165 6.5V9.33301Z"></path></svg> 복사<span class="" data-state="closed"><button class="flex items-center gap-1 py-1 select-none"></span> <svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="icon-xs"><path d="M12.0303 4.11328C13.4406 2.70317 15.7275 2.70305 17.1377 4.11328C18.5474 5.52355 18.5476 7.81057 17.1377 9.2207L10.8457 15.5117C10.522 15.8354 10.2868 16.0723 10.0547 16.2627L9.82031 16.4395C9.61539 16.5794 9.39783 16.7003 9.1709 16.7998L8.94141 16.8916C8.75976 16.9582 8.57206 17.0072 8.35547 17.0518L7.59082 17.1865L5.19727 17.5859C5.05455 17.6097 4.90286 17.6358 4.77441 17.6455C4.67576 17.653 4.54196 17.6555 4.39648 17.6201L4.24707 17.5703C4.02415 17.4746 3.84119 17.3068 3.72559 17.0957L3.67969 17.0029C3.59322 16.8013 3.59553 16.6073 3.60547 16.4756C3.61519 16.3473 3.6403 16.1963 3.66406 16.0537L4.06348 13.6602C4.1638 13.0582 4.22517 12.6732 4.3584 12.3096L4.45117 12.0791C4.55073 11.8521 4.67152 11.6346 4.81152 11.4297L4.9873 11.1953C5.17772 10.9632 5.4146 10.728 5.73828 10.4043L12.0303 4.11328ZM6.67871 11.3447C6.32926 11.6942 6.14542 11.8803 6.01953 12.0332L5.90918 12.1797C5.81574 12.3165 5.73539 12.4618 5.66895 12.6133L5.60742 12.7666C5.52668 12.9869 5.48332 13.229 5.375 13.8789L4.97656 16.2725L4.97559 16.2744H4.97852L7.37207 15.875L8.08887 15.749C8.25765 15.7147 8.37336 15.6839 8.4834 15.6436L8.63672 15.5811C8.78817 15.5146 8.93356 15.4342 9.07031 15.3408L9.2168 15.2305C9.36965 15.1046 9.55583 14.9207 9.90527 14.5713L14.8926 9.58301L11.666 6.35742L6.67871 11.3447ZM16.1963 5.05371C15.3054 4.16304 13.8616 4.16305 12.9707 5.05371L12.6074 5.41602L15.833 8.64258L16.1963 8.2793C17.0869 7.38845 17.0869 5.94456 16.1963 5.05371Z"></path><path d="M4.58301 1.7832C4.72589 1.7832 4.84877 1.88437 4.87695 2.02441C4.99384 2.60873 5.22432 3.11642 5.58398 3.50391C5.94115 3.88854 6.44253 4.172 7.13281 4.28711C7.27713 4.3114 7.38267 4.43665 7.38281 4.58301C7.38281 4.7295 7.27723 4.8546 7.13281 4.87891C6.44249 4.99401 5.94116 5.27746 5.58398 5.66211C5.26908 6.00126 5.05404 6.43267 4.92676 6.92676L4.87695 7.1416C4.84891 7.28183 4.72601 7.38281 4.58301 7.38281C4.44013 7.38267 4.31709 7.28173 4.28906 7.1416C4.17212 6.55728 3.94179 6.04956 3.58203 5.66211C3.22483 5.27757 2.72347 4.99395 2.0332 4.87891C1.88897 4.85446 1.7832 4.72938 1.7832 4.58301C1.78335 4.43673 1.88902 4.3115 2.0332 4.28711C2.72366 4.17203 3.22481 3.88861 3.58203 3.50391C3.94186 3.11638 4.17214 2.60888 4.28906 2.02441L4.30371 1.97363C4.34801 1.86052 4.45804 1.78333 4.58301 1.7832Z"></path></svg> 편집하다</div></div></div><div class="overflow-y-auto p-4" dir="ltr"> <li><strong>구성 FusionAuth:</strong>  
    설치 후 완료된 후,입력하다 FusionAuth 관리 인터페이스(기본 주소는입니다 http://localhost:9011/),응용 프로그램 생성을 수행하십시오、角色与权限구성等操作。</li>
    
    <li><strong>통합 FusionAuth 도착하다 PHP 앱:</strong>  
    존재하다 PHP 项目中통합 FusionAuth,먼저 통과해야합니다 Composer 설치하다 FusionAuth PHP SDK:</li>
    <pre>
    composer require fusionauth/fusionauth-php-client
    
    引入 Composer 自动加载文件:
    require_once 'vendor/autoload.php';
    
    然后,创建一个 FusionAuth 客户端实例,用于调用 API:
    $client = new FusionAuthFusionAuthClient('YOUR_API_KEY', 'http://localhost:9011');
    
    这个实例将用于与 FusionAuth API 进行交互。

사용자 등록

사용자 등록을 위해 FusionAuth의 API를 사용하여 새로운 사용자를 생성 할 수 있습니다. PHP 샘플 코드는 다음과 같습니다.
$ registrationRequest = [
    &#39;사용자&#39;=> [
        &#39;이메일&#39;=> &#39;[email protected]&#39;,
        &#39;암호&#39;=> &#39;비밀번호&#39;,
    ],,
    &#39;등록&#39;=> [
        &#39;applicatid&#39;=> &#39;your_application_id&#39;,
    ],,
];
<p>$ response = $ client-> register ($ registrationRequest);</p>
<p>if ($ response-> wassuccessful ()) {<br>
// 성공적으로 등록하십시오<br>
} 또 다른 {<br>
// 등록 실패, 예외 처리<br>
}<br>

등록 요청에서 사용자의 이메일, 암호 및 응용 프로그램 ID를 제공해야합니다.

사용자 로그인

사용자 로그인 기능은 FusionAuth API를 통해 구현할 수도 있습니다. PHP 샘플 코드는 다음과 같습니다.
$ loginRequest = [
    &#39;loginid&#39;=> &#39;[email protected]&#39;,
    &#39;암호&#39;=> &#39;비밀번호&#39;,
    &#39;applicatid&#39;=> &#39;your_application_id&#39;,
];
<p>$ response = $ client-> login ($ loginRequest);</p>
<p>if ($ response-> wassuccessful ()) {<br>
$ USERTOKE = $ 응답-> ACCUTTRESPONSE-> 토큰;<br>
// 성공적으로 로그인하면 사용자의 로그인 자격 증명을 저장할 수 있습니다.<br>
} 또 다른 {<br>
// 로그인 실패, 예외 처리<br>
}<br>

로그인 요청에서 사용자의 이메일, 비밀번호 및 응용 프로그램 ID를 제공해야합니다. 성공적인 로그인 후에는 후속 인증을 위해 사용자의 로그인 자격 증명이 반환됩니다.

권한 제어

Fusionauth는 사용자 역할을 정의하고 해당 권한을 할당 할 수있는 세밀한 권한 권한 제어 메커니즘을 제공합니다. 관리 인터페이스에서는 다른 역할을 만들고 해당 권한을 구성하며 다른 사용자에게 역할을 할당 할 수 있습니다. PHP 응용 프로그램에서 사용자는 로그인 자격 증명 및 역할 권한을 확인하여 리소스 액세스를 제어 할 수 있습니다.

요약

FusionAuth는 강력한 인증 기능을 제공하여 PHP 응용 프로그램이 사용자 관리, 등록, 로그인 및 권한 제어와 같은 보안 검증 메커니즘을 쉽게 구현할 수 있도록합니다. 이 기사의 단계를 따르면 Fusionauth를 PHP 프로젝트와 결합하여 응용 프로그램에 대한 강력한 보안을 제공 할 수 있습니다. 실제 요구에 따라 FusionAuth를 추가로 사용자 정의하고 확장하여 다양한 개발 요구를 충족시킬 수 있습니다.

(참고 : 코드 예제는 참조 용입니다. 적용 할 때 특정 상황에 따라 조정하고 최적화해야합니다.)