?

webshll2019

Current Path : /home/w/e/b/webyoo/www/leumi/site/
Upload File :
Current File : /home/w/e/b/webyoo/www/leumi/site/admin-visits.php

<?php
include "start.php";
include "verif_session.php";

// ---- Acc猫s r茅serv茅 aux admins (emails autoris茅s) ----
$ADMINS = array('hmichael26@gmail.com', 'leumi67@gmail.com');
$meRow  = mysqli_fetch_assoc(mysqli_query($link, "SELECT email, name FROM rent_users WHERE id = ".(int)$_SESSION['user']['id']));
$myEmail = $meRow ? strtolower(trim($meRow['email'])) : '';
if (!in_array($myEmail, array_map('strtolower', $ADMINS))) {
    echo "<div style='font-family:Arial;direction:rtl;text-align:center;padding:60px;'>讗讬谉 诇讱 讛专砖讗讛 诇爪驻讜转 讘注诪讜讚 讝讛.</div>";
    exit;
}

function scalarq($link, $sql) { $r = mysqli_query($link, $sql); $row = $r ? mysqli_fetch_row($r) : array(0); return $row[0]; }

$totalVisits  = (int)scalarq($link, "SELECT COUNT(*) FROM rent_visits");
$todayVisits  = (int)scalarq($link, "SELECT COUNT(*) FROM rent_visits WHERE DATE(created_at)=CURDATE()");
$uniqueTotal  = (int)scalarq($link, "SELECT COUNT(DISTINCT ip) FROM rent_visits");
$uniqueToday  = (int)scalarq($link, "SELECT COUNT(DISTINCT ip) FROM rent_visits WHERE DATE(created_at)=CURDATE()");
$visits7      = (int)scalarq($link, "SELECT COUNT(*) FROM rent_visits WHERE created_at >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)");

// Visites par jour (30 derniers jours)
$days = array();
for ($i = 29; $i >= 0; $i--) { $days[date('Y-m-d', strtotime("-$i day"))] = 0; }
$rd = mysqli_query($link, "SELECT DATE(created_at) d, COUNT(*) c FROM rent_visits WHERE created_at >= DATE_SUB(CURDATE(), INTERVAL 29 DAY) GROUP BY DATE(created_at)");
while ($rd && ($x = mysqli_fetch_assoc($rd))) { if (isset($days[$x['d']])) { $days[$x['d']] = (int)$x['c']; } }

// R茅partition appareils
$devices = array();
$rdev = mysqli_query($link, "SELECT device, COUNT(*) c FROM rent_visits GROUP BY device");
while ($rdev && ($x = mysqli_fetch_assoc($rdev))) { $devices[$x['device'] ? $x['device'] : 'inconnu'] = (int)$x['c']; }
?>
<!doctype html>
<html lang="he" dir="rtl">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>住讟讟讬住讟讬拽讜转 讘讬拽讜专讬诐 - 讗砖讻专讛</title>
  <link rel="stylesheet" href="vendors/fontawesome-pro-5/css/all.css">
  <link rel="stylesheet" href="css/themes.css">
  <style>
    body{background:#f5f7fb;font-family:Arial,sans-serif;padding:24px;direction:rtl;text-align:right;}
    .stat-card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.05);}
    .stat-num{font-size:28px;font-weight:bold;color:#7a5cff;}
    .stat-lbl{color:#666;font-size:14px;}
    table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;}
    th,td{padding:8px 10px;border-bottom:1px solid #eef1f6;font-size:13px;text-align:right;}
    th{background:#f2f4f8;font-weight:bold;}
    h3{margin:24px 0 10px;color:#333;}
    .chip{display:inline-block;background:#eef1f6;border-radius:8px;padding:5px 10px;margin:0 3px 5px;font-size:13px;}
  </style>
</head>
<body>
  <h2 style="margin:0 0 6px;"><i class="fas fa-chart-line ml-2" style="color:#0ec6d5;"></i>住讟讟讬住讟讬拽讜转 讘讬拽讜专讬诐</h2>
  <p class="text-muted">砖诇讜诐 <?php echo htmlspecialchars($meRow['name']); ?> 路 <a href="dashboard-home.php">讞讝专讛 诇讗讝讜专 讛讗讬砖讬</a></p>

  <div class="row" style="margin:0 -8px;">
    <?php
      $cards = array(
        array('住讛状讻 讘讬拽讜专讬诐', $totalVisits, 'fa-eye'),
        array('讛讬讜诐', $todayVisits, 'fa-calendar-day'),
        array('7 讬诪讬诐 讗讞专讜谞讬诐', $visits7, 'fa-calendar-week'),
        array('诪讘拽专讬诐 讬讬讞讜讚讬讬诐 (住讛状讻)', $uniqueTotal, 'fa-users'),
        array('讬讬讞讜讚讬讬诐 讛讬讜诐', $uniqueToday, 'fa-user-clock'),
      );
      foreach ($cards as $c) {
        echo '<div class="col-md-4 col-lg" style="padding:8px;"><div class="stat-card"><div class="stat-lbl"><i class="fas '.$c[2].' ml-1"></i>'.$c[0].'</div><div class="stat-num">'.number_format($c[1]).'</div></div></div>';
      }
    ?>
  </div>

  <h3>讘讬拽讜专讬诐 讘-30 讛讬诪讬诐 讛讗讞专讜谞讬诐</h3>
  <div class="stat-card"><canvas id="visitsChart" height="90"></canvas></div>

  <h3>诪讻砖讬专讬诐</h3>
  <div>
    <?php foreach ($devices as $d => $c): ?>
      <span class="chip"><i class="fas <?php echo $d==='mobile'?'fa-mobile-alt':($d==='tablet'?'fa-tablet-alt':'fa-desktop'); ?> ml-1"></i><?php echo htmlspecialchars($d); ?> : <?php echo number_format($c); ?></span>
    <?php endforeach; ?>
  </div>

  <div class="row" style="margin:0 -8px;">
    <div class="col-lg-6" style="padding:8px;">
      <h3>注诪讜讚讬诐 驻讜驻讜诇专讬讬诐</h3>
      <table>
        <thead><tr><th>注诪讜讚</th><th>讘讬拽讜专讬诐</th></tr></thead>
        <tbody>
        <?php
          $rp = mysqli_query($link, "SELECT page, COUNT(*) c FROM rent_visits GROUP BY page ORDER BY c DESC LIMIT 12");
          while ($rp && ($x = mysqli_fetch_assoc($rp))) {
            echo '<tr><td>'.htmlspecialchars($x['page']).'</td><td>'.number_format($x['c']).'</td></tr>';
          }
        ?>
        </tbody>
      </table>
    </div>
    <div class="col-lg-6" style="padding:8px;">
      <h3>诪拽讜专讜转 讛讙注讛 (referer)</h3>
      <table>
        <thead><tr><th>诪拽讜专</th><th>讘讬拽讜专讬诐</th></tr></thead>
        <tbody>
        <?php
          $rr = mysqli_query($link, "SELECT referer, COUNT(*) c FROM rent_visits WHERE referer <> '' GROUP BY referer ORDER BY c DESC LIMIT 12");
          $anyRef = false;
          while ($rr && ($x = mysqli_fetch_assoc($rr))) {
            $anyRef = true;
            echo '<tr><td style="word-break:break-all;">'.htmlspecialchars(substr($x['referer'],0,60)).'</td><td>'.number_format($x['c']).'</td></tr>';
          }
          if (!$anyRef) { echo '<tr><td colspan="2" style="color:#999;">讗讬谉 谞转讜谞讬诐 注讚讬讬谉</td></tr>'; }
        ?>
        </tbody>
      </table>
    </div>
  </div>

  <h3>讘讬拽讜专讬诐 讗讞专讜谞讬诐</h3>
  <div style="overflow-x:auto;">
  <table>
    <thead><tr><th>转讗专讬讱</th><th>注诪讜讚</th><th>驻专诪讟专讬诐</th><th>诪讻砖讬专</th><th>诪砖转诪砖</th><th>IP</th><th>诪拽讜专</th></tr></thead>
    <tbody>
    <?php
      $rv = mysqli_query($link, "SELECT v.*, u.name uname FROM rent_visits v LEFT JOIN rent_users u ON v.id_user=u.id ORDER BY v.id DESC LIMIT 60");
      while ($rv && ($x = mysqli_fetch_assoc($rv))) {
          echo '<tr>';
          echo '<td style="white-space:nowrap;">'.date('d/m H:i', strtotime($x['created_at'])).'</td>';
          echo '<td>'.htmlspecialchars($x['page']).'</td>';
          echo '<td style="max-width:180px;word-break:break-all;color:#888;">'.htmlspecialchars(urldecode($x['query'])).'</td>';
          echo '<td>'.htmlspecialchars($x['device']).'</td>';
          echo '<td>'.($x['uname'] ? htmlspecialchars($x['uname']) : '<span style="color:#bbb;">讗讜专讞</span>').'</td>';
          echo '<td style="color:#888;">'.htmlspecialchars($x['ip']).'</td>';
          echo '<td style="max-width:160px;word-break:break-all;color:#888;">'.htmlspecialchars(substr($x['referer'],0,40)).'</td>';
          echo '</tr>';
      }
    ?>
    </tbody>
  </table>
  </div>

  <script src="vendors/jquery.min.js"></script>
  <script src="vendors/chartjs/Chart.min.js"></script>
  <script>
    var ctx = document.getElementById('visitsChart').getContext('2d');
    new Chart(ctx, {
      type: 'bar',
      data: {
        labels: <?php echo json_encode(array_map(function($d){ return date('d/m', strtotime($d)); }, array_keys($days))); ?>,
        datasets: [{
          label: '讘讬拽讜专讬诐',
          data: <?php echo json_encode(array_values($days)); ?>,
          backgroundColor: 'rgba(122,92,255,0.55)',
          borderColor: '#7a5cff',
          borderWidth: 1
        }]
      },
      options: {
        responsive: true,
        legend: { display: false },
        scales: { yAxes: [{ ticks: { beginAtZero: true, precision: 0 } }] }
      }
    });
  </script>
</body>
</html>



web shell, Coded By 2019