cloudflare
tcp/443 tcp/80 tcp/8443
Open service 104.21.36.242:443 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2FbndLYlqfsy3Q8ILcNuySUBn4GlqkRd4UHElVSESPrvJq7j2h59GutUMmOSkiwRyzISzvi6YN3ri90x9HaksyORGStdnBKnJK2PI5S%2BB1Zbpg5s7"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=14
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1f1d9ef4d9-SJC
alt-svc: h3=":443"; ma=86400
Page title: Admin Login
<!DOCTYPE html>
<html>
<head>
<title>Admin Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body { font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f0f2f5; }
.card { background: white; padding: 2rem; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); width: 100%; max-width: 320px; text-align: center; }
input { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }
button { width: 100%; padding: 12px; background: #1a73e8; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; }
</style>
</head>
<body>
<div class="card">
<h2>Admin Login</h2>
<input type="text" id="id" placeholder="ID">
<input type="password" id="pw" placeholder="Password">
<button onclick="login()">Login</button>
</div>
<script>
async function login() {
const id = document.getElementById('id').value;
const pw = document.getElementById('pw').value;
const res = await fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id, pw })
});
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"fac143926e694e649e7c62bd372e46e3","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.201.96:80 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 301 Moved Permanently
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Length: 0
Connection: close
Location: https://ppomlink.ppoms.cloud/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=vl%2BgcLRwlUVzh8lMOZG8zTVqqKd8ApNPGO4UAVpjhQN2q32N9Z3QbMOHOt3O9Pj0JnbghpQiAb1O1bZYoGdWi%2FHkpm2REieAq0WjWYi6iOtmyuZv"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=15,cfOrigin;dur=6
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1f9fa146b5-YYZ
alt-svc: h3=":443"; ma=86400
Open service 104.21.36.242:80 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 301 Moved Permanently
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Length: 0
Connection: close
Location: https://ppomlink.ppoms.cloud/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=e9rU60lje0awLXvIMhfMNZFV%2Bwbn0oKfsjj58n8zlnngp6gszeQI8u1PRWsZCb%2F8UfXYyYGorVAxu7CJ1GrG%2BKgcYqjR0m5CNkNsQ0KGh8Mt16Y6"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=18,cfOrigin;dur=8
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1f0da4f8f2-SIN
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3032::ac43:c960:80 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 301 Moved Permanently
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Length: 0
Connection: close
Location: https://ppomlink.ppoms.cloud/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=zrd1mu%2FuyAPjhZGiPjUW9owhZqxSZ1pmcNtW3JQkS%2B0%2BTHwlOJKUc4wjjB6jk0fV9L7GuRr7iH07LAdJd5b0NUCwfr5EYXzOGK0sOfNYy75qjhCiV2s5uLwz%2BvdnTs39"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=18,cfOrigin;dur=7
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1f0dee8631-YYZ
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3034::6815:24f2:443 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=rpR7bc0dAr0YIjSODxyEp3R7MIDXFzEDRQr1fJa0h%2FEMLmg9Vcdmm5aboIShSIUir1FhKRcUzB0pJJSJOZsllhXbOSj5m%2FNtL0YZ3YY9YMUMiJaPdRL5johVUFjWgQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=19,cfOrigin;dur=29
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1f0b09ab67-SIN
alt-svc: h3=":443"; ma=86400
Page title: Admin Login
<!DOCTYPE html>
<html>
<head>
<title>Admin Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body { font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f0f2f5; }
.card { background: white; padding: 2rem; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); width: 100%; max-width: 320px; text-align: center; }
input { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }
button { width: 100%; padding: 12px; background: #1a73e8; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; }
</style>
</head>
<body>
<div class="card">
<h2>Admin Login</h2>
<input type="text" id="id" placeholder="ID">
<input type="password" id="pw" placeholder="Password">
<button onclick="login()">Login</button>
</div>
<script>
async function login() {
const id = document.getElementById('id').value;
const pw = document.getElementById('pw').value;
const res = await fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id, pw })
});
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"fac143926e694e649e7c62bd372e46e3","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3034::6815:24f2:80 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 301 Moved Permanently
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Length: 0
Connection: close
Location: https://ppomlink.ppoms.cloud/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=UChSJfvoYFfqSGrQb3K608fjo0Gj5AjYofK0BtpFWri9cj%2BrKltUn0oqadpRbDpIdo9cQ6q0xGNI3koVjpRAE0K3%2Bu9hZjRZHCsO94D3jjJ3NDRjpmnfB8oDnV09%2Fy3T"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=20,cfOrigin;dur=9
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1ece24fd8c-SIN
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3032::ac43:c960:8443 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2BZCRb5DKDxjIoRcLuCG3dZQ5h3ceemh1QtwR5Jy%2BpmT7dDCFsoNB3dP8aTXOAYl1qx%2B5r7RQXe%2FcRiapZ8h2UMofWHN25DstWtpqtzUJo3hntXt8Tv8K1ZVMAIM0KjuS"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=11,cfOrigin;dur=13
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1eaa98dafc-EWR
alt-svc: h3=":8443"; ma=86400
Page title: Admin Login
<!DOCTYPE html>
<html>
<head>
<title>Admin Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body { font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f0f2f5; }
.card { background: white; padding: 2rem; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); width: 100%; max-width: 320px; text-align: center; }
input { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }
button { width: 100%; padding: 12px; background: #1a73e8; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; }
</style>
</head>
<body>
<div class="card">
<h2>Admin Login</h2>
<input type="text" id="id" placeholder="ID">
<input type="password" id="pw" placeholder="Password">
<button onclick="login()">Login</button>
</div>
<script>
async function login() {
const id = document.getElementById('id').value;
const pw = document.getElementById('pw').value;
const res = await fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id, pw })
});
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"fac143926e694e649e7c62bd372e46e3","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.21.36.242:8443 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=sSmTHfLM%2FdHCtQvMONldJoLlz0%2BG2%2Ba4PgEqUe5FHUOjx%2BxAIXXokPgckANGINLjSMXzvK6vVYIR3%2BVf1fU5F2v4UKXYd%2FVg3nf%2Fodi%2B4eaYI7qO"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=14
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1eae179cdd-EWR
alt-svc: h3=":8443"; ma=86400
Page title: Admin Login
<!DOCTYPE html>
<html>
<head>
<title>Admin Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body { font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f0f2f5; }
.card { background: white; padding: 2rem; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); width: 100%; max-width: 320px; text-align: center; }
input { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }
button { width: 100%; padding: 12px; background: #1a73e8; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; }
</style>
</head>
<body>
<div class="card">
<h2>Admin Login</h2>
<input type="text" id="id" placeholder="ID">
<input type="password" id="pw" placeholder="Password">
<button onclick="login()">Login</button>
</div>
<script>
async function login() {
const id = document.getElementById('id').value;
const pw = document.getElementById('pw').value;
const res = await fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id, pw })
});
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"fac143926e694e649e7c62bd372e46e3","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.201.96:8443 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Pi4Zk%2FWdoxjAzPH7fZ6v%2FfjPW1EuhkYVVnJGylw8c%2FmNnuIH3dJ4cuaFpCCFEIiyyW1RoVMmgToulIVqieSpExwn8EjaLAX7dwQHFaAVx6ZqrQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=11,cfOrigin;dur=12
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1e8a962633-EWR
alt-svc: h3=":8443"; ma=86400
Page title: Admin Login
<!DOCTYPE html>
<html>
<head>
<title>Admin Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body { font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f0f2f5; }
.card { background: white; padding: 2rem; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); width: 100%; max-width: 320px; text-align: center; }
input { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }
button { width: 100%; padding: 12px; background: #1a73e8; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; }
</style>
</head>
<body>
<div class="card">
<h2>Admin Login</h2>
<input type="text" id="id" placeholder="ID">
<input type="password" id="pw" placeholder="Password">
<button onclick="login()">Login</button>
</div>
<script>
async function login() {
const id = document.getElementById('id').value;
const pw = document.getElementById('pw').value;
const res = await fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id, pw })
});
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"fac143926e694e649e7c62bd372e46e3","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3034::6815:24f2:8443 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=4yw8NbNtD5%2BNbLBkZVRVdG%2FbVtcMAksgKj9l4NxnvLpWICIquB4qlTcEpzmF3UZFhuOox2pO0lQ9PS8JVBpDOlOJNemmCEAny%2BREyVp8YxRnwcxEP2kZdSaxigoU9ID4"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1e7c68005f-LHR
alt-svc: h3=":8443"; ma=86400
Page title: Admin Login
<!DOCTYPE html>
<html>
<head>
<title>Admin Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body { font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f0f2f5; }
.card { background: white; padding: 2rem; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); width: 100%; max-width: 320px; text-align: center; }
input { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }
button { width: 100%; padding: 12px; background: #1a73e8; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; }
</style>
</head>
<body>
<div class="card">
<h2>Admin Login</h2>
<input type="text" id="id" placeholder="ID">
<input type="password" id="pw" placeholder="Password">
<button onclick="login()">Login</button>
</div>
<script>
async function login() {
const id = document.getElementById('id').value;
const pw = document.getElementById('pw').value;
const res = await fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id, pw })
});
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
</body>
</html>
Open service 172.67.201.96:443 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=oCG%2B%2BXd4DWlTHyBhd3NhC8kjTwz%2BZQXg%2BhWuJiaUJDPdRwEVbouoBTvQ8akqtNoaqPmNMJyecdFTrIAhNd9LyZbHLyIPq6VvUO22q3439TaJPLoV"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1e4cc4ccb5-LHR
alt-svc: h3=":443"; ma=86400
Page title: Admin Login
<!DOCTYPE html>
<html>
<head>
<title>Admin Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body { font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f0f2f5; }
.card { background: white; padding: 2rem; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); width: 100%; max-width: 320px; text-align: center; }
input { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }
button { width: 100%; padding: 12px; background: #1a73e8; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; }
</style>
</head>
<body>
<div class="card">
<h2>Admin Login</h2>
<input type="text" id="id" placeholder="ID">
<input type="password" id="pw" placeholder="Password">
<button onclick="login()">Login</button>
</div>
<script>
async function login() {
const id = document.getElementById('id').value;
const pw = document.getElementById('pw').value;
const res = await fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id, pw })
});
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
</body>
</html>
Open service 2606:4700:3032::ac43:c960:443 · ppomlink.ppoms.cloud
2026-01-09 02:13
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 02:13:17 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=TkpppYpQJQl786aE%2BkIZIxI%2B4c3lMXMXoo%2FADHfUzoRESgzTXuGirJvl%2Fc3lAzCm47p0bOzE%2BgUK6w4qmY4Fd5j5YOmm4A88IkSK0TMUq9JjfzT7e29%2B1m1AJEVDnSSo"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9bb06a1e1f68f46f-FRA
alt-svc: h3=":443"; ma=86400
Page title: Admin Login
<!DOCTYPE html>
<html>
<head>
<title>Admin Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body { font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f0f2f5; }
.card { background: white; padding: 2rem; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); width: 100%; max-width: 320px; text-align: center; }
input { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }
button { width: 100%; padding: 12px; background: #1a73e8; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; }
</style>
</head>
<body>
<div class="card">
<h2>Admin Login</h2>
<input type="text" id="id" placeholder="ID">
<input type="password" id="pw" placeholder="Password">
<button onclick="login()">Login</button>
</div>
<script>
async function login() {
const id = document.getElementById('id').value;
const pw = document.getElementById('pw').value;
const res = await fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id, pw })
});
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
</body>
</html>