@extends('layouts.staff') @section('title', 'Site Analytics & Traffic Telemetry › MTU Library Staff') @section('breadcrumb-trail') › Home › Site Analytics @endsection @section('content')
Real-time page views, unique visitor counts (privacy-salted), inbound referrers, and search bot activity.
| Restricted IP Address | Lockout Reason | Strikes | Lockout Remaining | Action |
|---|---|---|---|---|
| {{ $ban['ip'] }} @if(!empty($ban['offense_level']) && $ban['offense_level'] > 1) Tier {{ $ban['offense_level'] }} @endif | {{ $ban['reason'] }} | {{ $ban['strikes'] }} | @php $rem = $ban['remaining_seconds'] ?? 1800; $mins = max(1, (int) ceil($rem / 60)); $timeStr = $mins >= 60 ? (round($mins / 60, 1) . ' hrs') : ($mins . ' min'); @endphp ~{{ $timeStr }} remaining |
/record/ and /search endpoints are shielded against scrapers and query bursts. Any IP generating ≥ 5 not-found or abusive requests within 10 minutes is automatically restricted (30 mins up to 24 hrs progressive lockout, HTTP 429).
✓ Shield Active & Normal
| Page Path | Views | Uniques |
|---|---|---|
| {{ Str::limit($page['path'], 38) }} | {{ number_format($page['views']) }} | {{ number_format($page['uniques']) }} |
No page visits recorded in this timeframe yet.
@endif| Referring Domain | Inbound Hits |
|---|---|
| {{ $ref['referrer_host'] }} | {{ number_format($ref['hits']) }} |
| Timestamp | Path | Device | Traffic Type | Status |
|---|---|---|---|---|
| {{ \Carbon\Carbon::parse($hit['created_at'])->diffForHumans() }} |
{{ $hit['path'] }}
|
{{ $hit['device_type'] }} | @if($hit['is_bot']) Bot @else Human @endif | {{ $hit['status_code'] }} |
No recent hits recorded yet.
@endif