보안페이지 만들기 초간단 1가지 방법

웹페이지를 나만 볼 수 있게 하고 싶을 때, 관리자만 접근 할 수 있게 아이디와 비밀번호를 설정하고 싶을 때 사용할 수 있는 간단한 소스코드 입니다.

페이지 암호 화 코드

php
<?php
// 이 코드를 페이지 최상단에 배치
function authenticate() {
   $username = 'admin';
   $hashed_password = '$2y$1K-----해쉬된 비밀번호 입력---hmu4JZUpvaDyui';
   if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) ||
       $_SERVER['PHP_AUTH_USER'] !== $username || 
       !password_verify($_SERVER['PHP_AUTH_PW'], $hashed_password)) {
       header('WWW-Authenticate: Basic realm="Restricted Area"');
       header('HTTP/1.0 401 Unauthorized');
       echo '인증에 실패했습니다.';
       exit;
   }
}$allowed_ips = ['211.211.165.188', '111.111.116.114'];
$is_allowed_ip = in_array($_SERVER['REMOTE_ADDR'], $allowed_ips);
if (!$is_allowed_ip) {
   authenticate();
}// 여기서부터 기존 페이지 코드 시작
?>

 

코드 설명

1차 아이디/비번 입력

위와 같이 원하는 페이지에 추가하면 아이디/비밀번호를 입력해야 페이지에 접근 할 수 있습니다. 비밀번호는 해시 된 암호화 된 코드를 입력하면 됩니다.

 

암호를 해쉬화 하기

아래 코드를 저장 후 웹에서 접속하면 입력한 암호가 해쉬된 코드로 변경되어 보입니다. 아래 코드는 생성 후 삭제하는 것을 권장 합니다.

php
<?php
$password = ""; // 이곳에 사용 할 비밀번호를 입력 후 웹에서 실행 하면 됩니다.
$hashed_password = password_hash($password, PASSWORD_BCRYPT);
echo $hashed_password;
?>

 

아이피로 필터링

코드 중 아이피를 입력 하는 곳이 있습니다. 이곳에 자주 사용하는 아이피를 입력하면 아이디/비번 절차를 없이 바로 웹페이지에 접근 할 수 있습니다. 저 같은 경우, 집과 사무실 아이피를 입력 해 두고 편하게 사용하고 있습니다.

php
$allowed_ips = ['211.211.165.188', '111.111.116.114'];

 

마무리

간단한 코드라 정말 보안을 신경써야 하는 곳에서는 이런 방법을 사용는 것을 권장하지 않습니다.