페이지 암호화 하는 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

함께보면 유용한 글


마우스오버 툴팁 나타내기 1가지 방법

텍스트나 이미지에 마우스를 가져다 가면 추가 설명처럼 툴팁 박스가 보이게 하는 소스(마우스오버 툴팁스) 입니다. 마우스오버 툴팁 나타내기 소스코드 인터넷에서 또는 챗GPT를 통해 필요한 소스를 기록형으로 남기고 있습니다. 다른 글은 여기서 확인 가능 합니다. Tooltips 관련 ... Read more

Cloudflare(클라우드플레어)에 도메인 추가하는 방법 1가지

클라우드플레어에 도메인 추가 하는 방법에 대해 알아보려 합니다. 왜 이 작업이 필요 했을까요? 저 같은 경우는 사이트에 이상한 접속이 보여서 추가하기 시작 했습니다. 서버 디비 로그에 1.5기가 쌓여서 쉐어호스팅 업체의 경고 메일을 받았었고, 최근에 추가 ... Read more

폼 제출 버튼 비밀번호 적용하기 1가지 방법

폼 제출 버튼 비밀번호 적용하는 1가지 방법을 자바스크립트로 구현했습니다. updated: 24시간 내 쿠키 적용해 비밀번호를 1번만 입력하면 됩니다. 필요한 경우 아래와 같이 입력 폼이 있을 때 관리자만 입력을 할 수 있게 하고 싶을 경우가 있습니다. ... Read more

국내 사이트를 위한 대표적인 검색로봇 종류와 robots.txt 작성법 1가지

글로벌 사이트가 아닌 이상 대상은 내국인을 상대로한 웹마케팅을 기획해야 합니다. 지난 주말 작성을 어떻게 하는게 좋은지에 대한 고민도 하고 검색도 해봤습니다. 내가 내린 나만의 결론을 이야기하려 구글 검색이나 구글 SEO에 관심이 있으신 분들에게 조금이라도 도움이 ... Read more