⊗ppPmAuSs 415 of 447 menu

PHP 세션을 통한 인증

우리 인증 시스템은 다음과 같이 작동해야 합니다: 사이트에 로그인하려는 사용자가 login.php 페이지에 접속하여 올바른 아이디와 비밀번호를 입력하면 그 후로는 이미 인증된 상태로 사이트 페이지를 돌아다닙니다.

사이트의 다른 페이지들이 우리 사용자가 인증되었다는 사실을 알기 위해서는, 세션에 이에 대한 표시를 저장해야 합니다.

아직 세션을 연결하지 않았기 때문에 우리의 인증 시스템은 아직 완전히 작동하지 않으며, 사이트의 다른 페이지들은 사용자가 인증되었는지 여부를 알 수 없습니다.

세션 변수 $_SESSION['auth']에 인증 표시를 저장하겠습니다. 여기에 true가 기록되어 있으면 사용자가 인증된 것이고, null이면 인증되지 않은 것입니다.

이에 맞게 코드를 수정해 보겠습니다:

<?php session_start(); if (!empty($_POST['password']) and !empty($_POST['login'])) { $login = $_POST['login']; $password = $_POST['password']; $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $_SESSION['auth'] = true; } else { // 잘못된 아이디 또는 비밀번호 입력 } } ?>

이제 사이트의 어떤 페이지에서든 다음과 같은 방식으로 사용자가 인증되었는지 확인할 수 있습니다:

<?php if (!empty($_SESSION['auth'])) { } ?>

인증되지 않은 사용자에 대해 특정 페이지의 전체 내용을 숨길 수 있습니다:

<?php if (!empty($_SESSION['auth'])): ?> <!DOCTYPE html> <html> <head> </head> <body> <p>인증된 사용자만 볼 수 있는 텍스트</p> </body> </html> <?php else: ?> <p>로그인해 주세요</p> <?php endif; ?>

페이지의 일부만 숨길 수도 있습니다:

<!DOCTYPE html> <html> <head> </head> <body> <p>모든 사용자를 위한 텍스트</p> <?php if (!empty($_SESSION['auth'])) { echo '인증된 사용자만 볼 수 있는 텍스트'; } ?> <p>모든 사용자를 위한 텍스트</p> </body> </html>

우리 사이트에 login.php 페이지 외에도 1.php, 2.php3.php 페이지가 있다고 가정합니다. 이 페이지들에 접근할 수 있는 사용자를 인증된 사용자로만 제한하세요.

우리 사이트에 index.php 페이지도 있다고 가정합니다. 이 페이지의 일부는 모든 사용자에게 공개되고, 일부는 인증된 사용자만 볼 수 있도록 만드세요.

성공적인 인증 시 사용자 아이디도 세션에 기록되도록 코드를 수정하세요.

사이트의 어떤 페이지에 접속하든 인증된 사용자는 자신의 아이디를 보고, 인증되지 않은 사용자는 로그인 페이지 링크를 보게 만드세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부