function xss_record_detail_list() { $list = array(); $files = glob(DATA_PATH . '/*.php'); arsort($files); foreach ($files as $file) { $filename = basename($file, ".php"); if (preg_match(ID_REGEX, $filename)) { $info = load_xss_record($filename); if ($info === false) { continue; } $isChange = false; //如果没有设置location,就查询qqwry.dat判断location if (!isset($info['location'])) { $info['location'] = stripStr(convertip($info['user_IP'], IPDATA_PATH)); $isChange = true; } if ($isChange) { save_xss_record(json_encode($info), $filename); } $list[] = $info; } } return $list; }
//Windows平台最好别设成0,因为windows上lock没法实现非阻塞 set_time_limit(0); require_once "load.php"; require_once "functions.php"; require_once "dio.php"; if (KEEP_SESSION) { //利用非阻塞的flock实现单例运行 $pid = fopen(DATA_PATH . '/check.pid', "w"); if (!$pid) { exit; } if (flock($pid, LOCK_EX | LOCK_NB)) { $files = glob(DATA_PATH . '/*.php'); foreach ($files as $file) { $filename = basename($file, ".php"); $info = load_xss_record($filename); if ($info['keepsession'] === true) { $url = getLocation($info); $cookie = getCookie($info); $useragent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2535.0 Safari/537.36"; if (isset($info['headers_data']['User-Agent'])) { $useragent = $info['headers_data']['User-Agent']; } $ip = $info['user_IP']; if ($url != "" && $cookie != "") { $ch = curl_init(); $header[] = 'User-Agent: ' . $useragent; $header[] = 'Cookie: ' . $cookie; $header[] = 'X-Forwarded-For: ' . $ip; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
if (isset($_GET['cmd'])) { switch ($_GET['cmd']) { //获取所有记录包括详细信息 case 'list': echo json_encode(list_xss_record_detail()); break; //只获取时间戳(索引id) //只获取时间戳(索引id) case 'id_list': echo json_encode(list_xss_record_id()); break; //根据时间戳(索引id)获得单条信息 //根据时间戳(索引id)获得单条信息 case 'get': if (isset($_GET['id'])) { echo json_encode(load_xss_record($_GET['id'])); } else { echo json_encode(false); } break; //根据时间戳(索引id)删除单条信息 //根据时间戳(索引id)删除单条信息 case 'del': if (isset($_GET['id'])) { echo json_encode(delete_xss_record($_GET['id'])); } else { echo json_encode(false); } break; //清空记录 //清空记录