相关环境介绍
硬件:群晖
软件:WebStation
|_Apache HTTP Server 2.2
|_PHP 7.3
|_根目录:web
文件结构
web
|_index.php
|_navi.php
代码
index.php
<?php
if ($_SERVER['PHP_AUTH_USER'] != "username" || $_SERVER['PHP_AUTH_PW'] != "username") {
$logcontent = "IP:".$_SERVER["REMOTE_ADDR"]."尝试以".$_SERVER['PHP_AUTH_USER']." ".$_SERVER['PHP_AUTH_PW']."登录失败\n";
$denylog = fopen("deny.log", "a");
fwrite($denylog, $logcontent);
fclose($denylog);
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
$str = file_get_contents('navi.php');
$content= substr($str, strlen('<?php exit;?>'));
echo $content;
}
?>
navi.php
<?php exit;?>
....
navi.php 说明
自用的index.html加壳处理
头部添加并改成navi.php即可,用于屏蔽原导航页
测试效果
输入
username
username
通过
其他则失败并记录