Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X
X
X
X

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
WordPress Teknik Rehberi

WordPress 403 Forbidden: wp-admin, Dosya İzni ve Firewall Çözümü

403 Forbidden, isteğin sunucuya ulaştığı ancak erişim politikasınca reddedildiği anlamına gelir. WordPress’te dosya izinleri, .htaccess deny kuralları, ModSecurity, güvenlik eklentileri, CDN WAF, nonce ve IP engelleri ayrı ayrı kontrol edilmelidir.

403 ForbiddenModSecurityWordfenceFile PermissionsWAF
root@sunucu:~SSH
403 Forbidden
You don't have permission to access this resource
ModSecurity: Access denied with code 403
rest_cookie_invalid_nonce
WordPress katmanıÇekirdek, tema ve eklenti davranışı
PHP katmanıSürüm, uzantı, limit ve fatal error
Sunucu katmanıWeb servisi, veritabanı, disk ve loglar
Güvenli yöntemYedekle, logla, izole et ve doğrula
01
Teknik açıklama

WordPress 403 Forbidden hatası ne anlama gelir?

403, kaynağın var olabileceğini ancak mevcut kullanıcı, IP veya istek biçimine izin verilmediğini bildirir. Bu nedenle 404 gibi içerik aramak yerine erişimi reddeden katman bulunmalıdır.

Yalnız wp-admin veya admin-ajax.php etkileniyorsa güvenlik eklentisi, ModSecurity kuralı, IP allowlist ve nonce kontrolü önceliklidir.

Tüm site 403 veriyorsa document root izinleri, dosya sahipliği, üst dizin execute izni ve .htaccess içindeki Deny/Require kuralları kontrol edilir.

Cloudflare WAF veya bot koruması origin’e ulaşmadan 403 üretebilir. Response header ve ray ID, hatanın CDN mi origin mi olduğunu ayırmaya yardım eder.

WordPress REST API isteklerinde geçersiz veya süresi dolmuş nonce 403 oluşturabilir. Nonce kontrolünü devre dışı bırakmak yerine cache ve oturum akışı düzeltilmelidir.

Tüm dosya ve klasörleri 777 yapmak güvenlik açığıdır ve sahiplik sorununu çözmez. WordPress izinleri sunucu kullanıcısı ve PHP çalışma modeliyle birlikte değerlendirilmelidir.

02
Log mesajları ve anlamları

WordPress 403, WAF, izin ve nonce hata mesajları

E-postada, tarayıcıda veya SSH günlüğünde gördüğünüz ifadeyi aratın. Her kartta anlam, muhtemel neden ve güvenli ilk işlem bulunur.

8 kayıt
01kritik

403 Forbidden

Anlamı: Sunucu erişim talebini reddetmiştir.

Muhtemel neden: İzin, WAF, deny kuralı veya güvenlik eklentisi.

Response header ve error logdan reddeden katmanı bulun.
02kritik

You don't have permission to access this resource

Anlamı: Apache/Nginx veya dosya sistemi erişime izin vermiyor.

Muhtemel neden: Yanlış sahiplik, Directory kuralı veya deny.

Dosya izinleri ve vhost erişim kuralını kontrol edin.
03uyarı

ModSecurity: Access denied with code 403

Anlamı: WAF kuralı isteği saldırı olarak işaretlemiştir.

Muhtemel neden: Form içeriği, SQL benzeri metin veya yanlış pozitif.

Rule ID’yi kaydedip yalnız gerekli kural için istisna değerlendirin.
04uyarı

rest_cookie_invalid_nonce

Anlamı: REST isteğinin nonce değeri geçersizdir.

Muhtemel neden: Cache, oturum süresi veya yanlış header.

Sayfayı yenileyip cache/oturum akışını düzeltin.
05kritik

wp-admin 403

Anlamı: Yönetim yolu özel olarak engellenmiştir.

Muhtemel neden: Wordfence, IP kuralı, Basic Auth veya ModSecurity.

Güvenlik logları ve IP engellerini kontrol edin.
06uyarı

admin-ajax.php 403

Anlamı: AJAX isteği WAF veya nonce tarafından reddedilmiştir.

Muhtemel neden: Eklenti isteği, güvenlik kuralı veya cache.

Network request ve sunucu logunu aynı anda inceleyin.
07kritik

AH01630: client denied by server configuration

Anlamı: Apache yapılandırması istemciyi reddetmiştir.

Muhtemel neden: Require/Deny/Allow kuralı.

İlgili vhost ve .htaccess satırını bulun.
08uyarı

Cloudflare 1020 Access Denied

Anlamı: Cloudflare firewall kuralı isteği engellemiştir.

Muhtemel neden: WAF/Firewall Rule veya bot skoru.

Ray ID ile Cloudflare Security Events kaydını bulun.

Bu ifadeyle eşleşen kayıt bulunamadı.

03
Güvenli ilk inceleme

SSH teşhis komutları ve hangi çıktıya bakılmalı?

Komutlar root erişimi içindir. Önce yalnızca durum ve log toplayın; nedeni görmeden kalıcı ayar değiştirmeyin.

HTTP header ve sunucu
curl -sSIk https://example.com/wp-admin/

403’ün Cloudflare, Nginx veya Apache’den geldiğine dair başlıkları gösterir.

Dosya sahiplik ve izin
find . -maxdepth 2 -printf '%m %u:%g %p\n' | head -n 80

Kök dizindeki olağandışı izin ve sahiplikleri gösterir.

htaccess deny arama
grep -RniE 'deny from|require all denied|<files|<directory' .htaccess wp-content 2>/dev/null

Erişimi kapatan kuralları bulur.

ModSecurity logu
grep -Ri 'ModSecurity' /usr/local/apache/logs/error_log /var/log/apache2/error.log 2>/dev/null | tail -n 50

Rule ID ve engellenen isteği gösterir.

WordPress kullanıcı/nonce testi
wp user list --fields=ID,user_login,roles

WordPress kullanıcı ve rol katmanının çalıştığını doğrular.

Eklenti durumu
wp plugin list --status=active | grep -Ei 'wordfence|security|firewall|limit'

Güvenlik veya erişim eklentilerini listeler.

04
Barındırma ortamına göre

cPanel, Plesk ve panelsiz sunucuda uygulanacak kontroller

WordPress hatasının temel nedeni aynıdır ancak log yolları, PHP ayar ekranları ve servis yönetimi kullanılan barındırma altyapısına göre değişir.

cPanel / WHM

cPanel’de ModSecurity, IP Blocker, Hotlink Protection ve File Manager kontrol edilir.

  • ModSecurity logundaki rule ID’yi bulun.
  • IP Blocker ve .htaccess deny kayıtlarını kontrol edin.
  • Dosya sahipliğini sunucu yöneticisine doğrulatın; 777 kullanmayın.
grep -i 'ModSecurity' /usr/local/apache/logs/error_log | tail

Plesk Obsidian

Plesk’te Web Application Firewall, Fail2Ban ve domain logları öne çıkar.

  • Domains > Logs ekranında 403 zamanını filtreleyin.
  • Web Application Firewall rule ID’sini kaydedin.
  • Fail2Ban veya Plesk Firewall IP engelini kontrol edin.
plesk bin ip_ban --banned

Panelsiz Linux Sunucu

Panelsiz sunucuda vhost access kuralları, WAF ve dosya sahipliği doğrudan incelenir.

  • Nginx deny/allow ve Apache Require kurallarını arayın.
  • PHP-FPM kullanıcısı ile document root sahipliğini eşleştirin.
  • Fail2Ban/CSF/iptables loglarını kontrol edin.
grep -RniE 'deny all|Require all denied' /etc/nginx /etc/apache2 2>/dev/null
05
Güvenli çözüm sırası

WordPress 403 Forbidden hatasını güvenli çözme adımları

403 yanıtını üreten katmanı belirleyin; ardından IP, WAF, dosya izni ve WordPress nonce/eklenti kontrollerini daraltın.

1

403’ün kapsamını belirleyin

Tüm site, wp-admin, REST API veya yalnız belirli form mu etkilendiğini test edin.

curl -sSIk https://example.com/wp-admin/
2

Response header ve logu eşleştirin

CDN, web server veya WordPress katmanını ayırın.

3

WAF/ModSecurity rule ID’sini bulun

Kuralı tamamen kapatmadan yanlış pozitif isteği ve rule ID’yi kaydedin.

4

Dosya izin ve sahipliğini doğrulayın

WordPress dizinlerini güvenli sahiplik ve izinlerle karşılaştırın.

find . -maxdepth 2 -type d -printf '%m %u:%g %p\n' | head
5

Güvenlik eklentisini kontrollü test edin

Yalnız logda işaret edilen eklentiyi geçici kapatın.

wp plugin list --status=active
6

Form, wp-admin ve REST API’yi yeniden doğrulayın

Nonce, AJAX ve gerçek kullanıcı işlemlerini test edin.

curl -sSIk https://example.com/wp-json/
06
Belirtiye göre ayrım

Özel senaryolar ve karar ağacı

Yalnız kendi IP’nizde 403

Firewall, Fail2Ban, Wordfence veya CDN IP engeli kontrol edilir.

curl -sSIk https://example.com/
Yalnız form gönderiminde 403

ModSecurity yanlış pozitifi, nonce ve request body içeriği incelenir.

wp-admin 403 ama site açık

Admin IP kuralı, security plugin ve Basic Auth kontrol edilir.

Cloudflare 1020 gösteriyor

Ray ID ile Security Events kaydı bulunur ve eşleşen rule incelenir.

Dosya yüklerken 403

MIME, WAF body limiti, upload dizini ve nonce kontrol edilir.

Kesinlikle yapmayın

  • Tüm dosyaları veya klasörleri 777 yapmayın.
  • ModSecurity’yi sunucu genelinde kalıcı kapatmayın.
  • WordPress nonce kontrolünü devre dışı bırakmayın.
  • Firewall kuralını kaynağını anlamadan tamamen silmeyin.
  • wp-admin yolunu herkese açmak için güvenlik katmanlarını kaldırmayın.
  • Cloudflare Development Mode’u kalıcı çözüm olarak bırakmayın.

Çözüm sonrası doğrulama

  • Etkilenen URL artık doğru HTTP kodunu döndürüyor.
  • WAF logunda aynı yanlış pozitif tekrar etmiyor.
  • Dosya sahipliği ve izinler güvenli.
  • wp-admin, admin-ajax ve REST API çalışıyor.
  • Güvenlik eklentisi beklenen korumaları sürdürüyor.
  • Farklı IP ve tarayıcıyla erişim doğrulandı.
07
Resmî teknik kaynaklar

WordPress ve WP-CLI resmî dokümantasyonu

08
İç SEO içerik kümesi

İlgili WordPress hata çözümleri

09
Sık sorulan sorular

WordPress 403 Forbidden hakkında merak edilenler

403 ile 404 arasındaki fark nedir?

404 kaynak bulunamadı, 403 ise kaynak mevcut olsa bile erişimin reddedildiği anlamına gelir.

Dosya izinleri kaç olmalı?

Genel kural dosyalar 644, dizinler 755’tir; ancak sahiplik ve sunucu modeli mutlaka dikkate alınmalıdır.

ModSecurity kapatılmalı mı?

Hayır. Yanlış pozitif rule ID bulunup mümkünse yalnız ilgili alan adı/istek için kontrollü istisna uygulanmalıdır.

Wordfence 403 yapabilir mi?

Evet; IP, rate limit, country block veya firewall kuralı isteği engelleyebilir.

Cloudflare 1020 nedir?

Cloudflare firewall kuralının isteği engellediğini gösterir; Ray ID ile olay bulunabilir.

Nonce 403 neden olur?

Süresi dolmuş sayfa, cache veya bozuk oturum eski nonce gönderebilir.

wp-admin 403 nasıl ayrılır?

Origin logları, güvenlik eklentisi logu, WAF rule ID ve IP engelleri birlikte kontrol edilir.

EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

Sunucunuzdaki hatayı kalıcı olarak çözelim

cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim ve güvenlik katmanlarını birlikte analiz ederek yalnızca servisi kaldırmak yerine arızanın temel nedenini gideriyoruz.

Sunucu Desteği Al WhatsApp
Top