<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>我真得控制控制你了</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Microsoft YaHei", sans-serif;
}
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: linear-gradient(135deg, #1a2a6c, #004d99);
color: #fff;
padding: 20px;
}
.container {
width: 100%;
max-width: 500px;
text-align: center;
background: rgba(10, 20, 40, 0.85);
padding: 30px;
border-radius: 10px;
box-shadow: 0 0 20px rgba(0, 150, 255, 0.4);
border: 1px solid rgba(0, 243, 255, 0.5);
}
h1 {
font-size: 28px;
margin-bottom: 25px;
color: #00f3ff;
text-shadow: 0 0 10px rgba(0, 243, 255, 0.7);
}
p {
font-size: 16px;
line-height: 1.6;
margin: 15px 0;
color: #a0d0ff;
}
.button-wrapper {
position: relative;
margin: 30px auto;
width: fit-content;
}
#accessButton {
padding: 12px 40px;
font-size: 18px;
font-weight: bold;
background: linear-gradient(to right, #0062cc, #0099cc);
color: white;
border: none;
border-radius: 5px;
cursor: not-allowed;
position: relative;
opacity: 0.8;
transition: all 0.3s;
}
#shieldOverlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: repeating-linear-gradient(
45deg,
rgba(255, 80, 80, 0.4),
rgba(255, 80, 80, 0.4) 10px,
rgba(255, 120, 120, 0.4) 10px,
rgba(255, 120, 120, 0.4) 20px
);
pointer-events: all;
border-radius: 5px;
cursor: not-allowed;
}
.challenge-info {
display: flex;
justify-content: space-around;
margin: 20px 0;
padding: 10px;
background: rgba(0, 50, 100, 0.4);
border-radius: 5px;
}
.info-item {
text-align: center;
}
.info-label {
color: #55ccff;
font-size: 14px;
}
.info-value {
font-weight: bold;
color: #ffcc55;
}
/* 添加按钮激活状态样式 */
#accessButton.active {
opacity: 1;
box-shadow: 0 0 15px rgba(0, 200, 255, 0.6);
cursor: pointer;
}
/* 开发者工具检测警告 */
#devToolsWarning {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.9);
display: none;
justify-content: center;
align-items: center;
z-index: 9999;
color: #ff5555;
font-size: 24px;
text-align: center;
padding: 20px;
}
.hint {
margin-top: 20px;
padding: 10px;
background: rgba(0, 50, 100, 0.4);
border-radius: 5px;
font-size: 14px;
color: #ffcc55;
}
.console-hint {
font-family: monospace;
background: rgba(0, 0, 0, 0.5);
padding: 5px;
border-radius: 3px;
margin-top: 5px;
display: inline-block;
}
</style>
</head>
<body>
<div class="container">
<h1>我真得控制控制你了</h1>
<p>建议购买—破魔刀</p>
<p>老套路了</p>
<div class="challenge-info">
<div class="info-item">
<div class="info-label">挑战</div>
<div class="info-value">JavaScript</div>
</div>
<div class="info-item">
<div class="info-label">难度</div>
<div class="info-value">☆☆☆☆☆</div>
</div>
</div>
<form id="nextLevelForm" method="POST" action="next-level.php">
<input type="hidden" name="access" value="1">
<input type="hidden" name="csrf_token" value="a75a7a83cbcb32b5b66fa8ca6cf38fe47f82ed96ac919d37d77e1b4b79bb789b">
</form>
<div class="button-wrapper">
<button id="accessButton" type="button">
启动!
<div id="shieldOverlay"></div>
</button>
</div>
<div class="hint">
是名刀司命!
</div>
</div>
<div id="devToolsWarning">
<div>
<h2>开发者工具已禁用</h2>
<p>按 ESC 键关闭此提示</p>
</div>
</div>
<script>
// 检查保护层状态
function checkShieldStatus() {
const shield = document.getElementById('shieldOverlay');
const button = document.getElementById('accessButton');
if (!shield) {
button.classList.add('active');
button.disabled = false;
} else {
button.classList.remove('active');
button.disabled = true;
}
}
checkShieldStatus();
setInterval(checkShieldStatus, 500);
document.getElementById('accessButton').addEventListener('click', function() {
if (!document.getElementById('shieldOverlay')) {
document.getElementById('nextLevelForm').submit();
}
});
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
});
(function() {
document.addEventListener('keydown', function(e) {
// F12
if (e.keyCode === 123) {
e.preventDefault();
showDevToolsWarning();
}
// Ctrl+Shift+I (Windows/Linux)
if (e.ctrlKey && e.shiftKey && e.keyCode === 73) {
e.preventDefault();
showDevToolsWarning();
}
// Ctrl+Shift+J (Windows/Linux)
if (e.ctrlKey && e.shiftKey && e.keyCode === 74) {
e.preventDefault();
showDevToolsWarning();
}
// Cmd+Option+I (Mac)
if (e.metaKey && e.altKey && e.keyCode === 73) {
e.preventDefault();
showDevToolsWarning();
}
// Cmd+Option+J (Mac)
if (e.metaKey && e.altKey && e.keyCode === 74) {
e.preventDefault();
showDevToolsWarning();
}
// Ctrl+U (查看源代码)
if (e.ctrlKey && e.keyCode === 85) {
e.preventDefault();
showDevToolsWarning();
}
});
let devtools = false;
const threshold = 160;
function checkDevTools() {
const widthThreshold = window.outerWidth - window.innerWidth > threshold;
const heightThreshold = window.outerHeight - window.innerHeight > threshold;
const orientation = widthThreshold ? 'vertical' : 'horizontal';
if (!(heightThreshold && widthThreshold) &&
((window.Firebug && window.Firebug.chrome && window.Firebug.chrome.isInitialized) ||
widthThreshold || heightThreshold)) {
devtools = true;
showDevToolsWarning();
} else {
devtools = false;
}
}
setInterval(checkDevTools, 1000);
function showDevToolsWarning() {
const warning = document.getElementById('devToolsWarning');
warning.style.display = 'flex';
document.addEventListener('keydown', function closeWarning(e) {
if (e.key === 'Escape') {
warning.style.display = 'none';
document.removeEventListener('keydown', closeWarning);
}
});
}
if (typeof console !== "undefined") {
if (typeof console.log !== 'undefined') {
console.log = function() {};
}
if (typeof console.warn !== 'undefined') {
console.warn = function() {};
}
if (typeof console.error !== 'undefined') {
console.error = function() {};
}
if (typeof console.info !== 'undefined') {
console.info = function() {};
}
}
})();
</script>
</body>
</html>
这是该网页的源代码,分析该如何获得flag