diff --git a/api/send_user.php b/api/send_user.php index b0acee5..b680203 100644 --- a/api/send_user.php +++ b/api/send_user.php @@ -12,17 +12,31 @@ $tenant = $arr_user_info[2]; $need_login_file = __DIR__ . '/../cookie_file/needlogin_'.$user.'.txt'; // 需要登录的账号文件 $done_login_file = __DIR__ . '/../cookie_file/'.$user.'.txt'; // 已登录的账号文件 -//$ban_file = __DIR__ . '/../cookie_file/ban_'.$user.'.txt'; // 被禁用的账号文件 +$ban_file = __DIR__ . '/../cookie_file/ban_'.$user.'.txt'; // 被禁用的账号文件 +$fail_login_file = __DIR__ . '/../cookie_file/fail_'.$user.'.txt'; // 错误登录的账号文件 +// 检测是否被禁用 +if(file_exists($ban_file)){ + exit('ban'); +} +// 检测是否错误登录超过5次 +if(file_exists($fail_login_file)){ + $fail_login_times = file_get_contents($fail_login_file); + if($fail_login_times+0 >= 5){ + exit('fail'); + } +} // 检测是否已经登录 if(file_exists($need_login_file)){ exit('exist'); } - +// 检测是否已经登录 if(file_exists($done_login_file)){ exit('done'); } + + // 写入需要登录的账号文件 file_put_contents($need_login_file, str_replace('zch8u9h3b', "\n", $param)); exit('ok'); diff --git a/crontab/crosscheck_auto_shell_v2.php b/crontab/crosscheck_auto_shell_v2.php index d11b6e9..b856f71 100644 --- a/crontab/crosscheck_auto_shell_v2.php +++ b/crontab/crosscheck_auto_shell_v2.php @@ -26,6 +26,12 @@ try{ foreach($list as $v){ $need_login_file = $dir.$v; $fail_login_file = $dir.'fail_'.$v; + $ban_file = $dir.'ban_'.$v; + + // 检测是否被禁用 + if(file_exists($ban_file)){ + continue; + } // 处理错误登录文件 if(file_exists($fail_login_file)){ @@ -33,9 +39,6 @@ try{ $fail_info = file_get_contents($fail_login_file); $arr_fail_info = explode("\n", $fail_info); if($arr_fail_info[0]+0 >=5){ - // 记录日志 - $str_log = date('Y-m-d H:i:s')."|已登录失败{$arr_fail_info[0]}次|".$user; - file_put_contents($log_file, $str_log . PHP_EOL, FILE_APPEND); continue; } } @@ -81,13 +84,23 @@ try{ file_put_contents($log_file, $str_log . PHP_EOL, FILE_APPEND); // 判断登录是否成功 if (strpos($console_str, '登录成功') === false) { // 登录失败 - // 记录日志 - $str_log = date('Y-m-d H:i:s')."|登录失败|".$user."|运行时间:".$run_time_str; - file_put_contents($log_file, $str_log . PHP_EOL, FILE_APPEND); + + //被禁 + if(strpos($console_str, 'deactivated') !== false){ + // 写入被禁用账号文件 + file_put_contents($ban_file, $console_str . PHP_EOL); + // 记录日志 + $str_log = date('Y-m-d H:i:s')."|账号被禁用|".$user."|运行时间:".$run_time_str; + file_put_contents($log_file, $str_log . PHP_EOL, FILE_APPEND); + } // 写入错误登录文件 - $fail_info = $arr_fail_info[0]+1; + $fail_info = @$arr_fail_info[0]+1; file_put_contents($fail_login_file, $fail_info); + + // 记录日志 + $str_log = date('Y-m-d H:i:s')."|登录失败|第".$fail_info."次|".$user."|运行时间:".$run_time_str; + file_put_contents($log_file, $str_log . PHP_EOL, FILE_APPEND); }else{ // 记录日志 @@ -95,9 +108,12 @@ try{ file_put_contents($log_file, $str_log . PHP_EOL, FILE_APPEND); // 删除需要登录的账号文件 unlink($need_login_file); + @unlink($fail_login_file); + @unlink($ban_file); } system("pkill -9 chrome"); - sleep(60*4); + $sec = rand(100,245); + sleep($sec); }