cloudflare
tcp/443 tcp/80 tcp/8443
Open service 104.21.36.242:8443 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 200 OK
Date: Thu, 08 Jan 2026 08:48:31 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=VslLgG6WCDra800QL5T5%2BBbsATBITzvM%2F%2BtZqmuzo2%2FE7vr3Buw3C1HwdctXitdr4mgC7y31CT22O%2BFM2tFRU6Fqd7UuRztucBtepqXjjtU%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=17,cfOrigin;dur=36
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb35ebc9fbc-SIN
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 res = await fetch('/api/login', { method: 'POST', body: JSON.stringify({ id: document.getElementById('id').value, pw: document.getElementById('pw').value }) });
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 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 200 OK
Date: Thu, 08 Jan 2026 08:48:31 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=5dOKsqC4dFwanCDg3wT1xP32uRGZ8bjl0zfUyE0H8k8A1%2BcOPLKf5fwh5YyNCDQ3XHA3rhi9GnX2CpInPk3Di2srX0YLBDfswnQWbuGH0v0%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb3593a291b-FRA
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 res = await fetch('/api/login', { method: 'POST', body: JSON.stringify({ id: document.getElementById('id').value, pw: document.getElementById('pw').value }) });
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
</body>
</html>
Open service 172.67.201.96:443 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 200 OK
Date: Thu, 08 Jan 2026 08:48:31 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=w%2BEbTZSBPHm2YIBUcSbTc97JQfpqRMpxbbaqC02UUQi0y1QEu3K6J4Irh9aPWpWxjvZohcGnBoEdG5WjtokMwDMfxJ15usGT5sPlRsP27r4%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb33ee04d3e-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 res = await fetch('/api/login', { method: 'POST', body: JSON.stringify({ id: document.getElementById('id').value, pw: document.getElementById('pw').value }) });
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
</body>
</html>
Open service 104.21.36.242:80 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 301 Moved Permanently
Date: Thu, 08 Jan 2026 08:48:31 GMT
Content-Length: 0
Connection: close
Location: https://view.ppoms.cloud/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2BnRRlNvdwOPTKVfHZ0VWxvZeFRycx1EF6EG7xOJ%2BpejkhaMpVZeDrrou%2BsmpcJClUlF88REIQYVYCefu45Zfb2%2FAXEhwD1ewR1UMZp3BDKo%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb2f908c0f7-AMS
alt-svc: h3=":443"; ma=86400
Open service 172.67.201.96:80 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 301 Moved Permanently
Date: Thu, 08 Jan 2026 08:48:31 GMT
Content-Length: 0
Connection: close
Location: https://view.ppoms.cloud/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=2pFyrYik3OeTrfV4Ez83jqRAcR0JOM2jDvhuFRoTsSQmrs8O5Vbhr7Reecs8Jz%2FQ8brE%2FbCpUKziDkUhjv5vvbhLsJcx7dfFuwez93FHw%2Bk%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb2ebedddee-AMS
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3034::6815:24f2:8443 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 200 OK
Date: Thu, 08 Jan 2026 08:48:31 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=u2nwErBlp7aAxaY%2FVbIrB%2BBOgK63ZUF%2FJh3hDU%2FF%2BAj6BVsa5kWZ87n8rikjzYEMpkZwDSj12OuHPsaj%2F1tLVUdCrFOTq5%2FLzP%2FgCTWbXFjP0456Vz%2FAHI%2FZYGY%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=10
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb2dc1f2f06-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 res = await fetch('/api/login', { method: 'POST', body: JSON.stringify({ id: document.getElementById('id').value, pw: document.getElementById('pw').value }) });
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:443 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 200 OK
Date: Thu, 08 Jan 2026 08:48:31 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=DnWYAa2Oyku2YU3sqIfEKw56XM%2Bz7r%2B99gpXcu9gAKKoJA5TMaqURt6GOROvVNYy9oklFl4MARshpdw21TAxFvzUNezkajJNa8zHrxPq448vm13jfJFr7%2B4ApRM%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=12
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb30bedabc1-YYZ
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 res = await fetch('/api/login', { method: 'POST', body: JSON.stringify({ id: document.getElementById('id').value, pw: document.getElementById('pw').value }) });
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:443 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 200 OK
Date: Thu, 08 Jan 2026 08:48:31 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=yJmLquYd7aEynDzXCy0yaPjpArF%2BWDWh6m9HL8uSnAoZKsUVrgL%2BQjRiLtLfUmw5J4CcMAX3DZ8CWVpHSOU1toig5Owu65a2PON8AxqIztw%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=13,cfOrigin;dur=24
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb36bbd4069-BOM
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 res = await fetch('/api/login', { method: 'POST', body: JSON.stringify({ id: document.getElementById('id').value, pw: document.getElementById('pw').value }) });
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:3032::ac43:c960:8443 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 200 OK
Date: Thu, 08 Jan 2026 08:48:31 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=72MpP20c5YmdSlYj5taiWCesqKp5GhI%2BGr%2FrTyokolkt%2FXUe2GJ3D7vCjQz0%2BrlswmJugP5Ka7%2FgKBPW66pE9A4zxu6bjNh2BJjVDczkm1m5sc3VR0gRFWwZ%2FOM%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=18
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb2be53eb2c-SJC
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 res = await fetch('/api/login', { method: 'POST', body: JSON.stringify({ id: document.getElementById('id').value, pw: document.getElementById('pw').value }) });
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 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 301 Moved Permanently
Date: Thu, 08 Jan 2026 08:48:31 GMT
Content-Length: 0
Connection: close
Location: https://view.ppoms.cloud/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ls%2BJQkcFR7D%2BOpYuXH0WumKuj312td9imo7j5jihhz9UPyHwIKUymMdNzylfEg2ejQBA%2FZwo%2F5Eu%2FWMHOOH%2FO2cnFkbJ%2BVZvgUSq75IimsLtow0Edfx%2FDlcw920%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb25c2f294e-AMS
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3032::ac43:c960:80 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 301 Moved Permanently
Date: Thu, 08 Jan 2026 08:48:31 GMT
Content-Length: 0
Connection: close
Location: https://view.ppoms.cloud/
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Cv7dwdzs2iigHHeyRSjIHR2U6kX3WBe7lytS65Ck8fbYRgt5k%2B%2BWpCCgXV4g9E6tPxXDLTimNO34Ohnucr97efFWoksSBrDeje1taaLvvSWRVVjBCXVIpo8PJH4%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb1eda918d2-FRA
alt-svc: h3=":443"; ma=86400
Open service 2606:4700:3032::ac43:c960:443 · view.ppoms.cloud
2026-01-08 08:48
HTTP/1.1 200 OK
Date: Thu, 08 Jan 2026 08:48:31 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=XYZYIRc5aX7o7MKfsI9W4X0dHqu0SONh9y6Zh1%2BW%2F7RMd9Ts5ncWRxO5No3gBpyotP6jQ6oZp1P6iTvubLb5BsZ2UcRZu6aW4vyAJZeJvJyRbmmYSrXWT08ABgg%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
cf-cache-status: DYNAMIC
CF-RAY: 9baa6fb1fa659bf7-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 res = await fetch('/api/login', { method: 'POST', body: JSON.stringify({ id: document.getElementById('id').value, pw: document.getElementById('pw').value }) });
if (res.ok) location.reload(); else alert('로그인 실패');
}
</script>
</body>
</html>