페이지 암호화 언제 사용하나?
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>
마무리
아주 중요한 곳이 아니더라도 누군가에게 보여주고 싶은 않은 페이지가 있다면 사용해 볼만 합니다. 어렵지 않아 금방 적용할 수 있을 것입니다. 그럼 즐거운 코딩 되세요. ^^