Sistem Rehberi

Kurulum ve API bilgileri — NMIP Guard'ı anlamak için rehber.

Sistem Nasıl Çalışır?

NMIP Guard, sitenize gelen ziyaretçi verilerini toplar, sınıflandırır ve raporlar. Veri akışı üç aşamada özetlenebilir.

1. Entegrasyon

WordPress eklentisi veya REST API ile sitenizi bağlayın. Her sayfa görüntülemede IP, sayfa yolu, User-Agent ve referrer NMIP Guard sunucusuna iletilir. Veri non-blocking gönderilir; site hızını etkilemez.

2. Sınıflandırma

Gelen veri motor tarafından işlenir: doğal (insan trafiği), bot (arama motoru, crawler), şüpheli (anormal davranış) ve saldırı (kötü niyetli istek, tarama, DDoS) kategorilerine ayrılır. Kural tabanlı ve davranış analizi birlikte kullanılır.

3. Raporlar ve Aksiyon

Panel üzerinden IP listesi, sayfa analizi, zaman grafikleri ve dışa aktarma (CSV) kullanılır. Saldırı ve şüpheli IP'ler isteğe bağlı olarak Google Ads hariç tutma listesine senkron edilir; reklam bütçeniz korunur.

API ve Entegrasyon

Kimlik Doğrulama

Header: Authorization: Bearer <api_key> veya X-NMIP-Key: <api_key>. API anahtarı kullanıcı panelinde Sitelerim altında üretilir; WordPress eklentisi ayarlarına veya kendi entegrasyonunuza girilir.

Endpoint'ler

POST /api/v1/events — IP olayları (sayfa, süre, User-Agent) batch gönderimi.
GET /api/v1/site/verify — API key ile site doğrulama ve aktivasyon kontrolü.
GET /api/v1/config — Eklenti için güncel ayarlar (motor sürümü vb.).

Olay gönderiminde her istekte site_key, events dizisi (ip, page, duration_seconds, user_agent, referrer, timestamp) kullanılır. Veri saklama süresi paketinize göre belirlenir.

Kurulum Özeti

Gereksinimler

PHP 7.4 veya 8.x · MySQL 5.7+ veya MariaDB 10.3+ · mod_rewrite (Apache) veya Nginx rewrite kuralları.

Ne Yüklenir?

Proje tamamı (admin/, api/, cron/, database/, includes/, panel/, public/, wordpress-plugin/) sunucuya yüklenir. Veritabanına database/schema.sql import edilir. includes/config.php ve includes/db.php zorunludur; örnek dosyalardan kopyalanıp düzenlenir.

Config

Veritabanı bilgileri, NMIP_SITE_URL, PayTR (ödeme), Telegram (bildirim), Google Ads OAuth, SMTP (e-posta), API rate limit, giriş rate limit ve hata logu ayarları config.php içinde tanımlanır. Document root public ise includes klasörü web'den erişilemez olmalıdır.