![]() |
|
||||||
| Web Programlama Bir web programlama dili ve veritabanı ile dinamik içerikli web siteleri yapmayı amaçlar. |
| ||
|
|
LinkBack | Seçenekler | Stil |
|
|
|
|
#1 |
|
Çevrimdışı
|
PHP ile Admin Paneli — Bot vs İnsan Ziyaretçi Analizi (Gerçek Zamanlı, Chart.js)
Merhaba, Google Analytics yerine kendi sunucumdan direkt çeken, hangi trafiğin gerçek kullanıcıdan hangi trafiğin bot/crawler'dan geldiğini anlık olarak gösteren bir panel yaptım. Sonuç olarak ortaya çıkan bot_analytics.php'yi paylaşıyorum. Anlık Canlı Durum Sayfanın en üstünde "son 10 dakika" penceresi var. Gerçek kullanıcı sayısı, bot sayısı ve anlık bot oranı canlı gösteriliyor. Sayfa 60 saniyede bir otomatik yenileniyor. Bot oranı %30 altında yeşil, %30-60 arası turuncu, %60 üzerinde kırmızı renkte gösteriliyor. Özet Kartlar (Bugün)
Günlük Trend Grafiği Son 7/14/30/60/90 günün günlük bot ve insan trafiği yığılmış bar grafik olarak gösteriliyor. URL'de ?range=30 şeklinde dönem seçimi yapılabiliyor. Pasta Grafik Seçili dönemin toplam bot/insan dağılımı halka (doughnut) grafik olarak, sayısal değerleri ile birlikte yan tarafta listeleniyor. Saatlik Bar Grafik Bugünün saat saat bot ve insan trafiği yığılmış bar grafik olarak gösteriliyor. Hangi saatlerde bot trafiğinin arttığını hemen görüyorsunuz. Aktif Ziyaretçi Listeleri (Şu An) Sol panel: Son 10 dakikada gelen gerçek kullanıcılar. Kayıtlı üyeler 👤, misafirler 👻 ile ayrılıyor. IP, ziyaret ettikleri sayfa ve son görülme saati gösteriliyor. Sağ panel: Aktif botlar. IP, User-Agent özeti ve ziyaret ettiği sayfa listeleniyor. Bot User-Agent Listesi Aktif botları User-Agent bazında gruplayıp sıralıyor. Her UA için görsel ilerleme çubuğu ile ne kadar yaygın olduğu anlaşılabiliyor. ━━━━━━━━━━ DOSYA YAPISI ━━━━━━━━━━ Kod:
sitem.com/
├── config/
│ └── db.php ← PDO bağlantısı
└── admin/
└── bot_analytics.php ← Ana panel (tek dosya, standalone)
bot_analytics_kurulum.sql ← Tablo kurulum scripti
━━━━━━━━━━ VERİTABANI TABLOLARI ━━━━━━━━━━ SQL kurulum dosyası ekte. 2 tablo gerekiyor: Kod:
-- Günlük/saatlik istatistik
site_stats (
stat_date, stat_hour,
page_views, human_hits, bot_hits,
unique_ips, searches, video_views
)
-- Anlık aktif ziyaretçi takibi
active_visitors (
ip, is_member, is_bot,
user_agent, page_url, last_seen
)
━━━━━━━━━━ KURULUM ━━━━━━━━━━ 1. SQL'i çalıştır bot_analytics_kurulum.sql dosyasını phpMyAdmin'e import et. site_stats ve active_visitors tabloları oluşturulur. 2. db.php'yi doldur config/db.php içindeki DB_HOST / DB_NAME / DB_USER / DB_PASS değerlerini kendi sunucuna göre düzenle. 3. Dosyayı yükle bot_analytics.php dosyasını admin/ klasörüne yükle. Auth kontrolü dosyanın başında mevcut, $_SESSION['admin_logged_in'] değişkenini kendi oturum sisteminle değiştir. 4. Middleware'e tracker ekle Panelin dolması için her sayfa yüklendiğinde ziyaretçilerin kaydedilmesi gerekiyor. SQL kurulum dosyasının içinde yorum satırı olarak track_visitor() fonksiyonu var. Bunu kendi header.php veya ortak include dosyanıza ekleyip her sayfada çağırın: Kod:
// header.php veya ortak bootstrap dosyanızda: require_once 'config/db.php'; require_once 'includes/tracker.php'; track_visitor($db); 5. Paneli aç admin/bot_analytics.php adresine git. URL'e ?range=7, ?range=30 gibi parametreler ekleyerek dönem değiştirebilirsin. ━━━━━━━━━━ ÖNEMLİ NOTLAR ━━━━━━━━━━
━━━━━━━━━━ GEREKSİNİMLER ━━━━━━━━━━
━━━━━━━━━━ EKLER ━━━━━━━━━━
Test ortamı: PHP 8.2 / MariaDB 10.6 / Chart.js 4.4.1. PHP 7.4 altında arrow function (fn() =>) syntax hatası verir, o durumda function($x) { return ...; } şeklinde dönüştürün. Benzer Konular:
![]() Fallen code. Broken systems. No mercy. |
| Yer İmleri |
| Konuyu 1 kişi okuyor: (0 üye ve 1 misafir) | |
|
|
| Forum | Bilgilendirme | Künye |
|
Powered by vBulletin® Version 3.8.11 Copyright ©2000 - 2026, vBulletin Solutions Inc. Forum Sahibi: Dea Dia ve Gece |
Sitemiz; yer sağlayıcı bir forum sitesidir. Forumel.Com adresimizde yapılan paylaşımlar, moderasyon ekibimizin onayına dahil olmadan direkt olarak yayınlanmaktadır. 5237 sayılı TCK (Türk Ceza Kanunu) ve 5651 Sayılı Kanun'un ilgili maddelerini ihlal eden kişilerin IP adresleri de dahil olmak üzere sair kişi veya adli mercilere müzekkere (Resmi Üst Yazı), tarafımıza tanzim edildiği takdirde paylaşılacaktır. Hukuka aykırı bir paylaşımın olduğunu düşündüğünüz mesaj ya da konuyu; İLETİŞİM linkine bildirim yoluyla iletebilirsiniz. 48 saat içerisinde mevcut şikâyetiniz üzerinden tarafınıza ulaşılacak, gerekli işlemler tesis edilecektir. |
|