Ana içeriğe geç

Version Docs Updated

Amaç

MHM Rentiva API katmanındaki veri alışverişinin bütünlüğünü ve gizliliğini sağlamak için kullanılan güvenlik protokollerini açıklar.

🔐 API Güvenlik Mimarisi

Sistem, hem dahili hem de harici talepler için çok katmanlı bir doğrulama stratejisi izler.


🛡️ 1. Kimlik Doğrulama Yöntemleri​

A. Nonce (CSRF) Koruması (Internal)​

Dahili AJAX ve Interactivity API taleplerinde kullanılır.

  • Header: X-WP-Nonce
  • Doğrulama: check_ajax_referer() veya rest_cookie_check_errors().

B. API Key (External)​

Dış entegrasyonlar için AuthHelper ile yönetilir.

  • Header: X-Rentiva-API-Key
  • İşlev: API anahtarı, o anahtara atanmış yetki seviyesini (Read/Write) belirler.

C. HMAC İmza Doğrulaması (Webhook)​

Ödeme geri bildirimleri (Callback) için kritik güvenlik adımıdır.

  • Header: X-Rentiva-Signature
  • Mantık: Gelen JSON gövdesi ve gizli anahtar (Secret Key) kullanılarak üretilen hash, başlıktaki veriyle karşılaştırılır.

🚦 2. Yetkilendirme (Authorization)​

Kimlik doğrulandıktan sonra, kullanıcının işlem yetkisi kontrol edilir:

  • current_user_can('manage_options'): Admin bazlı işlemler.
  • current_user_can('rentiva_vendor'): Tedarikçi bazlı işlemler.
  • Mode::featureEnabled(): Lisans seviyesine göre özellik kısıtlaması.

🚀 3. İstek Güvenliği ve Sanitizasyon​

Parametre Doğrulama​

Tüm uç noktalar args dizisi üzerinden veri doğrulaması yapar:

'id' => [
'validate_callback' => function($param) {
return is_numeric($param);
},
'sanitize_callback' => 'absint',
]

Rate Limiting​

RateLimiter::check() metodu ile aynı IP veya API anahtarından gelen aşırı istekler bloklanır. Varsayılan limit: Dakikada 60 istek.


📦 4. Veri Taşıma Güvenliği​

  • HTTPS: Tüm API uç noktaları için HTTPS zorunludur.
  • Secrets: API anahtarları veritabanında şifrelenmiş olarak saklanır.
  • Preflight (CORS): Sadece izin verilen alan adlarından (Origin) gelen talepler kabul edilir.

Denetim Listesi​

  1. Tüm POST isteklerinde Nonce kontrolü var mı?
  2. AuthHelper ile API Key doğrulaması yapılıyor mu?
  3. Hassas veriler JSON yanıtında gizlenmiş mi?
  4. RateLimiter aktif mi?

Değişiklik Günlüğü​

TarihSürümNot
19.03.20264.21.2Nonce, API Key, HMAC ve Rate Limiting detayları eklendi.