페이지 암호화 하는 2가지 방법 – 고정아이피 지정, 비밀번호 설정하기

페이지 암호화 언제 사용하나?

Vultr(벌쳐) 서버를 세팅하고 워드프레스, 그누보드 등을 설치도 하지만 일반 웹사이트도 만들 경우가 있습니다. 일반 웹사이트라고 해서 거창한 것은 아니고 1페이지 사이트를 만들 경우 특히 나만의 페이지가 필요할 경우 다른 사람들은 접속하지 못하고 나만 접속해야 하는 경우가 있습니다. 이럴 때 사용하는 좋은 소스를 챗GPT에게 물어봐서 만들었습니다. 실제 제가 적용하고 있는 것을 하단에 공유하고 있으니 참고 하세요.

페이지 암호화 샘플

아래 샘플 사이트는 실제로 제가 인터넷 첫화면으로 만들어서 사용하고 있는 것으로 즐겨찾는 사이트를 모아 둔 나만의 즐겨찾기 사이트 입니다.

페이지 암호화 소스

<?php
// 접속 비밀번호가 일치하거나 IP 주소가 "***.***.***.***"와 일치하는 경우 이후의 코드를 실행합니다
// 비밀번호 입력(2곳)

if ($_SERVER["REMOTE_ADDR"] !== "***.***.***.***") {
    $password = htmlspecialchars($_POST['password']); // ① 아이피 주소 & 비밀번호 입력
    if ($password !== '비밀번호') {
        // 비밀번호가 일치하지 않는 경우, 접속 비밀번호 입력 폼을 출력합니다.
        if (!isset($_COOKIE['access_password'])) {
            echo '<form action="" method="POST">';
            echo '<input type="password" name="password" placeholder="비밀번호를 입력하세요">';
            echo '<input type="submit" value="확인">';
            echo '</form>';
            exit; // 접속 비밀번호 입력 후 코드 실행을 중단합니다.
        }
    } else {
        // 비밀번호가 일치하는 경우, 쿠키를 설정하여 24시간 동안 유지합니다.
        setcookie('access_password', '비밀번호', time() + (24 * 60 * 60)); // ② 비밀번호 입력
    }
}

?>

실제 사용법

아래와 같이 나만 접속하고 싶은 페이지 상단에 php 소스 코드를 추가 하면 됩니다.

본인 아이피 주소 확인은 아래 사이트에서 가능 합니다.

<?php
// 접속 비밀번호가 일치하거나 IP 주소가 "***.***.***.***"와 일치하는 경우 이후의 코드를 실행합니다
// 비밀번호 입력(2곳)

if ($_SERVER["REMOTE_ADDR"] !== "***.***.***.***") {
    $password = htmlspecialchars($_POST['password']); // ① 아이피 주소 & 비밀번호 입력
    if ($password !== '비밀번호') {
        // 비밀번호가 일치하지 않는 경우, 접속 비밀번호 입력 폼을 출력합니다.
        if (!isset($_COOKIE['access_password'])) {
            echo '<form action="" method="POST">';
            echo '<input type="password" name="password" placeholder="비밀번호를 입력하세요">';
            echo '<input type="submit" value="확인">';
            echo '</form>';
            exit; // 접속 비밀번호 입력 후 코드 실행을 중단합니다.
        }
    } else {
        // 비밀번호가 일치하는 경우, 쿠키를 설정하여 24시간 동안 유지합니다.
        setcookie('access_password', '비밀번호', time() + (24 * 60 * 60)); // ② 비밀번호 입력
    }
}

?>

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>페이지 암호화</title>
 </head>
 <body>
  페이지 암호호 테스트 입니다.
 </body>
</html>

페이지 암호화 샘플페이지

마무리

아주 중요한 곳이 아니더라도 누군가에게 보여주고 싶은 않은 페이지가 있다면 사용해 볼만 합니다. 어렵지 않아 금방 적용할 수 있을 것입니다. 그럼 즐거운 코딩 되세요. ^^


단축주소: https://zeze.kr/kYDj
일부 포스팅은 쿠팡 파트너스와 같은 제휴 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

Leave a Comment

함께보면 유용한 글


리눅스 명령어 모음 – 자주 사용하는 linux 명령어 100개

서버를 이용하면서 또는 터미널을 이용하면 리눅스 명령어를 자주 접하게 됩니다. 정확하게 기억을 하고 있지 않기 때문에 매번 할때마다 구글에서 검색하고 있는데 지금부터 내 블로그에 내가 1번 이상 사용했던 명령어를 기록형으로 모아 보기로 했습니다. 리눅스 명령어 ... Read more

엑셀 앞부분 제거, 앞문자 삭제 하는 방법

엑셀 앞부분 제거 – 엑셀에서 앞부분 몇개 글자를 삭제/제거 하는 방법입니다. 이전 포스팅에서 인터넷 주소 중 https로 시작하는 사이트와 아닌 사이트를 분리 했습니다. 이후 먼저 http://www 로 시작하는 사이트만 추출 후 도메인 명만 남기고 앞부분 ... Read more

엑셀 특정문자 포함된 행 추출하기

엑셀에서 특정문자가 포함된 행만 추출 하고 싶을때 저는 아래와 같이 합니다. 아래 예는 인터넷 주소 중에서 https:// (SSL 보안서버)를 적용한 사이트만 찾을 때 이용 했습니다. 조건과 매칭되면 True 아니면 False 로 나타납니다. 그런 후 필터 ... Read more

crontab 5분마다 실행 명령어?

크론탭으로 5분마다 어떤 작업을 실행할 수 있습니다. 안녕하세요. 오늘도 추후 참고 하기 위한 기록형 포스팅을 시작 합니다. 자동으로 뭔가를 한다? 예를들어 자동글쓰기를 설정하려면 크론탭으로 스케줄을 설정해 두어야 합니다. 예를들어 언제 글이 써져라~ 이런식으로 미리 반복되는 ... Read more