Browse Source

增加账号禁用判断

master
李昭辉 1 month ago
parent
commit
f5470f5d40
  1. 18
      api/send_user.php
  2. 32
      crontab/crosscheck_auto_shell_v2.php

18
api/send_user.php

@ -12,17 +12,31 @@ $tenant = $arr_user_info[2];
$need_login_file = __DIR__ . '/../cookie_file/needlogin_'.$user.'.txt'; // 需要登录的账号文件 $need_login_file = __DIR__ . '/../cookie_file/needlogin_'.$user.'.txt'; // 需要登录的账号文件
$done_login_file = __DIR__ . '/../cookie_file/'.$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)){ if(file_exists($need_login_file)){
exit('exist'); exit('exist');
} }
// 检测是否已经登录
if(file_exists($done_login_file)){ if(file_exists($done_login_file)){
exit('done'); exit('done');
} }
// 写入需要登录的账号文件 // 写入需要登录的账号文件
file_put_contents($need_login_file, str_replace('zch8u9h3b', "\n", $param)); file_put_contents($need_login_file, str_replace('zch8u9h3b', "\n", $param));
exit('ok'); exit('ok');

32
crontab/crosscheck_auto_shell_v2.php

@ -26,6 +26,12 @@ try{
foreach($list as $v){ foreach($list as $v){
$need_login_file = $dir.$v; $need_login_file = $dir.$v;
$fail_login_file = $dir.'fail_'.$v; $fail_login_file = $dir.'fail_'.$v;
$ban_file = $dir.'ban_'.$v;
// 检测是否被禁用
if(file_exists($ban_file)){
continue;
}
// 处理错误登录文件 // 处理错误登录文件
if(file_exists($fail_login_file)){ if(file_exists($fail_login_file)){
@ -33,9 +39,6 @@ try{
$fail_info = file_get_contents($fail_login_file); $fail_info = file_get_contents($fail_login_file);
$arr_fail_info = explode("\n", $fail_info); $arr_fail_info = explode("\n", $fail_info);
if($arr_fail_info[0]+0 >=5){ 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; continue;
} }
} }
@ -81,13 +84,23 @@ try{
file_put_contents($log_file, $str_log . PHP_EOL, FILE_APPEND); file_put_contents($log_file, $str_log . PHP_EOL, FILE_APPEND);
// 判断登录是否成功 // 判断登录是否成功
if (strpos($console_str, '登录成功') === false) { // 登录失败 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); 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{ }else{
// 记录日志 // 记录日志
@ -95,9 +108,12 @@ try{
file_put_contents($log_file, $str_log . PHP_EOL, FILE_APPEND); file_put_contents($log_file, $str_log . PHP_EOL, FILE_APPEND);
// 删除需要登录的账号文件 // 删除需要登录的账号文件
unlink($need_login_file); unlink($need_login_file);
@unlink($fail_login_file);
@unlink($ban_file);
} }
system("pkill -9 chrome"); system("pkill -9 chrome");
sleep(60*4); $sec = rand(100,245);
sleep($sec);
} }

Loading…
Cancel
Save