substr($fingerprint, 0, 16) . '...', 'reason' => $reason]); } else { $error_message = "Failed to ban fingerprint."; } break; case 'unban': if (VFingerprint::unbanFingerprint($fingerprint)) { $success_message = "Fingerprint has been unbanned successfully."; VIPTracker::logActivity('fingerprint_unbanned', ['fingerprint' => substr($fingerprint, 0, 16) . '...']); } else { $error_message = "Failed to unban fingerprint."; } break; } } // Get fingerprint statistics if fingerprint is provided $fingerprint_stats = null; $threat_info = null; $ban_info = null; if ($fingerprint && strlen($fingerprint) === 64) { $fingerprint_stats = VFingerprint::getFingerprintStats($fingerprint); $threat_info = VFingerprint::detectFingerprintThreats($fingerprint); $ban_info = VFingerprint::isBanned($fingerprint); } // Get recent fingerprints global $db; $recent_fingerprints = []; try { $sql = "SELECT fingerprint_hash, first_seen, last_seen, visit_count, last_ip, last_user_id, user_agent FROM db_fingerprints ORDER BY last_seen DESC LIMIT 20"; $result = $db->Execute($sql); while ($result && !$result->EOF) { $recent_fingerprints[] = [ 'fingerprint' => $result->fields['fingerprint_hash'], 'first_seen' => $result->fields['first_seen'], 'last_seen' => $result->fields['last_seen'], 'visit_count' => $result->fields['visit_count'], 'last_ip' => $result->fields['last_ip'], 'last_user_id' => $result->fields['last_user_id'], 'user_agent' => $result->fields['user_agent'] ]; $result->MoveNext(); } } catch (Exception $e) { // Handle error } // Get current fingerprint bans $current_bans = []; try { $sql = "SELECT fingerprint_hash, ban_reason, ban_date, ban_expires, banned_by FROM db_fingerprint_bans WHERE ban_active = 1 ORDER BY ban_date DESC LIMIT 50"; $result = $db->Execute($sql); while ($result && !$result->EOF) { $current_bans[] = [ 'fingerprint' => $result->fields['fingerprint_hash'], 'reason' => $result->fields['ban_reason'], 'ban_date' => $result->fields['ban_date'], 'expires' => $result->fields['ban_expires'], 'banned_by' => $result->fields['banned_by'] ]; $result->MoveNext(); } } catch (Exception $e) { // Handle error } // Get suspicious fingerprints $suspicious_fingerprints = []; try { $sql = "SELECT fingerprint_hash, visit_count, last_seen, last_ip, user_agent FROM db_fingerprints WHERE visit_count > 100 OR (TIMESTAMPDIFF(HOUR, first_seen, last_seen) > 0 AND (visit_count / TIMESTAMPDIFF(HOUR, first_seen, last_seen)) > 50) ORDER BY visit_count DESC LIMIT 20"; $result = $db->Execute($sql); while ($result && !$result->EOF) { $fp = $result->fields['fingerprint_hash']; $threats = VFingerprint::detectFingerprintThreats($fp); $suspicious_fingerprints[] = [ 'fingerprint' => $fp, 'visit_count' => $result->fields['visit_count'], 'last_seen' => $result->fields['last_seen'], 'last_ip' => $result->fields['last_ip'], 'user_agent' => $result->fields['user_agent'], 'threat_level' => $threats['risk_assessment'], 'threats' => $threats['threats'] ]; $result->MoveNext(); } } catch (Exception $e) { // Handle error } ?> Fingerprint Management - EasyStream Admin

Browser Fingerprint Management

Fingerprint Lookup

Statistics for Fingerprint

Total Visits

First Seen

Last Seen

Last IP

Threat Assessment

Risk Level:

This fingerprint is currently banned!
Reason:
Banned on:
Expires:
Permanent ban
Banned by:

Ban Fingerprint

Suspicious Fingerprints

Fingerprint Visits Last Seen Last IP Threat Level Threats Actions
... 2): ?>... View

Recent Fingerprints

Fingerprint First Seen Last Seen Visits Last IP User ID User Agent Actions
... ... View

Current Fingerprint Bans

Fingerprint Reason Banned Date Expires Banned By Actions
...