Bağlam Tabanlı Yetki
Bağlam tabanlı yetki, kullanıcının yalnız bulunduğu MüşavirFlow ekranında ve yalnız ilgili işlem için yetkilendirilmesini ifade eder. Bu yaklaşım, WordPress genel yönetim yetkilerini gereksiz şekilde genişletmeden ürün ekranlarının çalışmasını sağlar.
Temel ilke
manage_options genel WordPress yönetim yetkisidir ve MüşavirFlow içindeki her işlem için varsayılan kapı gibi kullanılmamalıdır. MüşavirFlow tarafında modül, işlem ve bağlama göre daha dar capability kontrolleri tercih edilmelidir.
Bağlam örnekleri
| Bağlam | Kontrol edilmesi gereken |
|---|---|
| Ayar kaydetme | Ayar yönetimi capability'si ve nonce. |
| E-posta gönderme | Gönderim yetkisi, alıcı listesi ve nonce. |
| Sirkü yayınlama | Yayın yetkisi, post durumu ve kullanıcı rolü. |
| Kaynak analizi | Modül erişimi, işlem yetkisi ve rate limit. |
| Silme / toplu işlem | Daha dar ve açık yetki kontrolü. |
AJAX ve REST işlemleri
- Her istek nonce doğrulamasından geçmelidir.
- Her işlem ilgili capability ile kontrol edilmelidir.
- Gelen veri sanitize edilmeli, çıkan veri escape edilmelidir.
- Hata mesajları kullanıcıya yeterli bilgi vermeli fakat gizli veri sızdırmamalıdır.
- Kritik işlemler loglanmalıdır.
Güvenlik sınırı
Bağlam tabanlı yetki, kullanıcı deneyimini kolaylaştırmak için vardır; güvenliği gevşetmek için kullanılmaz. Feature toggle, lisans kontrolü veya görünüm ayarı, güvenlik kontrolünün yerine geçmemelidir.
Not: Doğru model; rol, capability, nonce, bağlam ve loglama katmanlarının birlikte kullanılmasıdır.