' . ' ' . ' ' . $zombie_details['ip'] . ''; } else { // this means the zombie has been lost // leave history/details in directory } } closedir($d); // if no zombies return the default value if($result == "") { $result = ZOMBIE_NONE; } return $result; } // ---[ GET_ZOMBIE_DATA function get_zombie_data($file){ $browser_details = file_get_contents($file); $zombie_data['ip'] = extract_zombie_ip($browser_details); $zombie_data['agent_image'] = extract_zombie_useragent($browser_details); $zombie_data['os_image'] = extract_zombie_os($browser_details); return $zombie_data; } // ---[ EXTRACT_ZOMBIE_IP function extract_zombie_ip($raw_zombie_data) { // get ip address from data return substr("$raw_zombie_data",0,strpos($raw_zombie_data,"\n")+strlen("\n")); } // ---[ EXTRACT_ZOMBIE_USERAGENT function extract_zombie_useragent($raw_zombie_data) { // find agent type if(stristr($raw_zombie_data, AGENT_FIREFOX_UA_STR)) { return AGENT_FIREFOX_IMG; } if(stristr($raw_zombie_data, AGENT_IE_UA_STR)) { return AGENT_IE_IMG; } if(stristr($raw_zombie_data, AGENT_CHROME_UA_STR)) { return AGENT_CHROME_IMG; } if(stristr($raw_zombie_data, AGENT_SAFARI_UA_STR)) { return AGENT_SAFARI_IMG; } if(stristr($raw_zombie_data, AGENT_KONQ_UA_STR)) { return AGENT_KONQ_IMG; } if(stristr($raw_zombie_data, AGENT_MOZILLA_UA_STR)) { return AGENT_MOZILLA_IMG; } return AGENT_UNKNOWN_IMG; } // ---[ EXTRACT_ZOMBIE_OS function extract_zombie_os($raw_zombie_data) { // find os type if(stristr($raw_zombie_data, OS_WINDOWS_UA_STR)) { return OS_WINDOWS_IMG; } if(stristr($raw_zombie_data, OS_LINUX_UA_STR)) { return OS_LINUX_IMG; } if(stristr($raw_zombie_data, OS_MAC_UA_STR)) { return OS_MAC_IMG; } return OS_UNKNOWN_IMG; } ?>