403 Forbidden Hatasi: Ne Anlama Gelir ve Nasil Duzeltilir

403 Forbidden Hatasi Nedir?
403 Forbidden hatasi, sunucunun isteginizi anladigi ancak bilerek yerine getirmeyi reddettigi anlamina gelen bir HTTP durum kodudur. 404 hatasindan (sayfa bulunamadi) farkli olarak, sunucu tam olarak ne istediginizi bilmektedir; ancak bunu size vermeyecektir.
HTTP spesifikasyonu (RFC 9110, Bolum 15.5.4) bu durumu su sekilde tanimlar: sunucu istegi anladi ancak yetkilendirmeyi reddediyor. Kimlik dogrulama bilgileri saglansa bile, sunucu bunlari yetersiz kabul etmektedir. Ayni istegi tekrarlamak ayni sonucu verecektir.
Basit bir ifadeyle: kapi mevcuttur, ancak sizin gecmenize izin verilmemektedir. Sunucu, sizin veya sizinle ayni durumda olan herhangi birinin bu kaynaga erismemesi gerektigine karar vermistir.
403 Hatasi Nasil Gorunur
403 hatasi, sunucuya, tarayiciya ve barindirma saglayicisina bagli olarak farkli sekillerde gorunur. Karsilasabileceginiz en yaygin mesajlar asagida listelenmi stir.
403 Forbidden — standart mesaj
HTTP Error 403 – Forbidden — IIS sunucularinda yaygin
403 — Forbidden: Access is denied — Windows/IIS varyanti
Error 403 — tarayici adres cubugundaki kisa form
Forbidden: You don't have permission to access this resource — Apache varsayilani
Access Denied — durum kodu olmadan genel mesaj
nginx 403 forbidden — Nginx'in varsayilan hata sayfasi
Error 1020: Access Denied — Cloudflare'in guvenlik duvari blogu (bir 403'u sarar)
Mesajin tam ifadesinden bagimsiz olarak, anlami her zaman aynidir: sunucu, istenen sayfa veya dosyaya erismenize izin vermeyecektir.
403 vs 401 vs 404: Aralarindaki Fark Nedir?
Bu uc hata kodu siklikla karistirilmaktadir. Aralarindaki farklar asagida aciklanmistir.
| Durum Kodu | Anlami | Duzeltebilir misiniz? | Ornek |
|---|---|---|---|
| 401 Unauthorized | Once giris yapmaniz gerekiyor | Evet — gecerli kimlik bilgileri saglayin | Giris yapmadan yonetim paneline erisim |
| 403 Forbidden | Giris yaptiginiz halde izniniz yok | Duruma bagli — sunucu sizi engelliyor | Baska bir kullanicinin dosyalarina erismeye calismak |
| 404 Not Found | Sayfa mevcut degil | URL yazimini kontrol edin | Silinmis veya yanlis yazilmis bir sayfayi ziyaret etmek |
Kritik ayrimi su sekildedir: 401 hatasi kimlik dogrulama yapmanizi ister. 403 hatasi, kimlik dogrulamanin yardimci olmayacagini bildirir — sunucu bu kaynaga erisemeyeceginize zaten karar vermistir. 404 ise kaynagin hicbir sekilde mevcut olmadigini ifade eder.
403 Forbidden Hatasinin Yaygin Nedenleri
403 hatasinin neden ortaya ciktigini anlamak, sorunu daha hizli cozmenize yardimci olur. Asagida ziyaretci ve site sahibi olarak en yaygin nedenler listelenmi stir.
Yanlis dosya izinleri — dosyalar 600 veya klasorler 700 olarak ayarlandiginda genel erisim engellenir
Yanlis yapilandirilmis .htaccess kurallari — deny direktifleri veya mod_rewrite kurallari istekleri engelliyor
Eksik index dosyasi — index.html veya index.php yok ve dizin listeleme devre disi
IP engelleme — sunucu veya guvenlik duvari kurallari IP adresinizi veya ulkenizi engelliyor
VPN veya proxy mudahalesi — VPN'inizin IP'si bir engelleme listesinde olabilir
Hotlink korumasi — sunucu, diger alanlardan resimlere veya dosyalara dogrudan baglanti yapilmasini engelliyor
WordPress eklenti catismalari — Wordfence veya iThemes gibi guvenlik eklentileri istekleri engelliyor
Web Application Firewall (WAF) — Cloudflare, Sucuri veya ModSecurity isteginizi isaretliyor
SSL sertifikasi sorunlari — suresi dolmus veya yanlis yapilandirilmis sertifikalar erisim engellerine neden olabilir
Hiz sinirlamasi — kisa surede IP'nizden cok fazla istek
Ziyaretci Olarak 403 Hatasini Nasil Duzeltirsiniz
Size ait olmayan bir web sitesinde 403 hatasi goruyorsaniz, asagidaki adimlari deneyin. Adimlar sirasiyla listelenmi stir — yukaridan baslayin.
1. URL'yi Kontrol Edin
En basit duzeltme genellikle dogru olandir. Bir dizin URL'si degil, bir sayfa URL'si ziyaret ettiginizden emin olun. Bircok sunucu varsayilan olarak dizin taramasini engeller.
Ornegin, https://example.com/images/ (bir klasor) adresini ziyaret etmek cogu sunucuda 403 dondururken, https://example.com/images/logo.png (belirli bir dosya) sorunsuz calisir. Yazim hatalarini kontrol edin ve URL'nin gercek bir sayfayi isaret ettiginden emin olun.
2. Tarayici Onbellegini ve Cerezleri Temizleyin
Tarayiciniz, sunucunun reddettigi eski cerezler veya onbelleglenmis kimlik dogrulama belirtecleri gonderiyor olabilir. Bunlari temizlemek yeni bir istek gonderilmesini saglar.
Chrome: Settings → Privacy → Clear browsing data → Cookies + Cached images
Firefox: Settings → Privacy → Clear Data → Cookies + Cache
Safari: Settings → Privacy → Manage Website Data → Remove All
Edge: Settings → Privacy → Clear browsing data → Cookies + CacheTemizledikten sonra tarayicinizi kapatip yeniden acin, ardindan URL'yi tekrar deneyin.
3. VPN veya Proxy'nizi Devre Disi Birakin
VPN'ler ve proxy sunuculari, trafiginizi paylasilan IP adresleri uzerinden yonlendirir. Ayni VPN'deki baska bir kullanici siteyi kotuye kullandiysa, paylasilan IP'niz engelleme listesine alinmis olabilir.
VPN'inizi gecici olarak devre disi birakin ve siteyi tekrar deneyin. Calisirsa, sorun IP tabanli engellemedir. Farkli bir VPN sunucusuna gecmeyi veya site sahibiyle iletisime gecmeyi deneyebilirsiniz.
4. Farkli Bir Ag veya Cihaz Deneyin
403 hatasi devam ederse, farkli bir aga gecin (Wi-Fi yerine mobil veri veya tam tersi). Bu, IP adresinizin engellenip engellenmedigini belirlemenize yardimci olur.
Farkli bir cihaz veya tarayici da deneyebilirsiniz. Sayfa bir tarayicida yukleniyorken digerinde yuklenmiyorsa, sorun muhtemelen onbellek verileri veya tarayici uzantilariyla ilgilidir, IP engeli degil.
Site Sahibi Olarak 403 Hatasini Nasil Duzeltirsiniz
Ziyaretciler sitenizde 403 hatalari bildiriyorsa veya kendiniz goruyorsaniz, duzeltme neredeyse her zaman sunucu yapilandirmanizda yer almaktadir. Asagidaki kontrolleri sirasiyla yapiniz.
5. Dosya ve Dizin Izinlerini Duzeltme
Yanlis dosya izinleri, web sunucularinda 403 hatalarinin bir numarali nedenidir. Bir web sunucusu icin standart izinler, dizinler icin 755 ve dosyalar icin 644'tur.
Bu sayilarin anlami: ilk basamak sahibin izni, ikincisi grubun, ucuncusu ise diger herkesindir. 7 = okuma + yazma + calistirma, 5 = okuma + calistirma, 4 = yalnizca okuma.
# Fix directory permissions (755 = owner rwx, group rx, others rx)
find /var/www/html -type d -exec chmod 755 {} \;
# Fix file permissions (644 = owner rw, group r, others r)
find /var/www/html -type f -exec chmod 644 {} \;
# Verify ownership (should match your web server user)
ls -la /var/www/html/
# Change ownership to web server user if needed
chown -R www-data:www-data /var/www/html/6. .htaccess Kurallarini Gozden Gecirin
Apache sunucularinda .htaccess dosyasi erisim kurallarini kontrol eder. Yanlis yapilandirilmis tek bir satir tum ziyaretcileri engelleyebilir. Deny from all direktiflerini veya asiri kisitlayici Require kurallarini kontrol edin.
En hizli test yolu: .htaccess dosyasini gecici olarak .htaccess.bak olarak yeniden adlandirin. 403 hatasi kaybolursa, sorun o dosyadadir.
# Temporarily rename .htaccess to test
mv /var/www/html/.htaccess /var/www/html/.htaccess.bak
# If 403 goes away, check the file for deny rules:
grep -i 'deny\|require\|allow' /var/www/html/.htaccess.bak
# Common problematic lines:
# Deny from all
# Require all denied
# Order deny,allowSite .htaccess olmadan calisiyorsa, dosyayi satir satir inceleyin. Meşru trafigi engelliyor olabilecek Deny from all veya Require all denied direktiflerini arayin. Bunlari yalnizca engellemeyi amacladi giniz seyleri engelleyen spesifik kurallarla degistirin.
7. Varsayilan Index Dosyasi Ekleyin
Bir ziyaretci dosya belirtmeden bir dizin URL'si istediginde (ornegin example.com/blog/), sunucu varsayilan bir index dosyasi arar. Hicbiri yoksa ve dizin listeleme devre disi ise, 403 hatasi alinir.
Cozum: Halka acik her dizinde bir index.html veya index.php dosyasi olusturun. Sunucuyu dizin listelemeye izin verecek sekilde de yapilandirabilirsiniz, ancak bu genellikle bir guvenlik riskidir.
# In .htaccess or Apache config — set default index files
DirectoryIndex index.html index.php index.htm
# If you want to allow directory listing (not recommended for production):
Options +Indexes8. WordPress Eklentilerini Devre Disi Birakin
Wordfence, iThemes Security, Sucuri ve All In One WP Security gibi guvenlik eklentileri, suphe li buldugu istekleri engelleyerek 403 hatalarina neden olabilir. Bu durum genellikle bir eklenti guncellemesi veya kural degisikliginden sonra yasanir.
Test etmek icin FTP veya SSH uzerinden eklentiler klasorunu yeniden adlandirarak tum eklentileri bir seferde devre disi birakin.
# Disable all plugins by renaming the folder
mv /var/www/html/wp-content/plugins /var/www/html/wp-content/plugins.bak
# If 403 goes away, re-enable plugins one by one:
mv /var/www/html/wp-content/plugins.bak /var/www/html/wp-content/plugins
# Then deactivate/reactivate each plugin from WordPress admin403 hatasi kaybolursa, suclunun hangisi oldugunu bulmak icin eklentileri teker teker yeniden etkinlestirin. Eklentinin guvenlik duvari veya guvenlik gunluklerinde engellenen istekleri kontrol edin.
9. IP Engelleme ve Guvenlik Duvari Kurallarini Kontrol Edin
Sunucunuzun guvenlik duvari veya barindirma kontrol paneli, belirli IP adreslerini, araliklari veya tum ulkeleri engelliyor olabilir. Bu durum fail2ban, CSF (ConfigServer Security & Firewall) veya barindirma duzeyindeki IP engelleme listeleriyle yaygindir.
Guvenlik duvari kurallarinizi ve sunucu gunluklerinizi kontrol ederek meşru IP'lerin engellenip engellenmedigini goruntuleyin.
# Check if an IP is blocked by iptables
iptables -L -n | grep "203.0.113.50"
# Check fail2ban jail status
fail2ban-client status
# Unban a specific IP
fail2ban-client set <jail-name> unbanip 203.0.113.50
# Check Apache deny rules in server config
grep -r 'Deny from\|Require not ip' /etc/apache2/10. SSL Sertifikanizi Dogrulayin
Suresi dolmus veya yanlis yapilandirilmis bir SSL sertifikasi, ozellikle sunucunuz istemci sertifikalari gerektirdiginde veya HTTPS zorunlu tutuldugun da ancak sertifika gecersiz oldugunda 403 hatalarina neden olabilir.
DNS Robot'un SSL Checker aracini kullanarak sertifikanizin gecerli, uygun sekilde zincirlenmis ve suresi dolmamis oldugunu dogrulayin. Let's Encrypt kullaniyorsaniz, otomatik yenilemenin calisip calismadigini kontrol edin.
# Check SSL certificate expiry from terminal
openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates
# Renew Let's Encrypt certificate
sudo certbot renew --force-renewal
# Restart web server after renewal
sudo systemctl restart nginx # or apache211. Cloudflare 403 / Error 1020 Hatasini Duzeltme
Siteniz Cloudflare'in arkasindaysa, 403 hatalari kaynak sunucunuzdan degil, Cloudflare'in guvenlik duvari kurallarindan kaynaklanabilir. Cloudflare bunu bir Ray ID ile birlikte Error 1020: Access Denied olarak gosterir.
Hangi kuralin engellemeyi tetikle digini gormek icin Cloudflare kontrol panelinde Security → Events bolumunu kontrol edin. Yaygin tetikleyiciler arasinda Bot Fight Mode, WAF yonetilen kurallar veya cok agresif ozel guvenlik duvari kurallari yer alir.
Security → WAF — ozel kurallari gozden gecirin, meşru yollarin engellenip engellenmedigini kontrol edin
Security → Events — belirli Ray ID'yi bulun ve hangi kuralin engellemeyi tetikledigini gorun
Security → Bots — Bot Fight Mode meşru tarayicilari ve API istemcilerini engelleyebilir
Security Level — 'I'm Under Attack' olarak ayarlandiysa, tum ziyaretciler bir dogrulama sayfasi gorur
IP Access Rules — IP'nizin veya ulkenizin yanlislikla engellenip engellenmedigini kontrol edin
12. Nginx 403 Forbidden Hatasini Duzeltme
Nginx, birkac ozel yapilandirma sorunu nedeniyle 403 dondurur. En yaygin olanlar: Nginx calisan sureci dosyalar uzerinde okuma iznine sahip degildir veya autoindex direktifi index dosyasi olmayan bir dizin icin kapalidir.
# Check Nginx error log for the exact cause
tail -f /var/log/nginx/error.log
# Common Nginx 403 causes and fixes:
# 1. Permission denied — Nginx runs as 'nginx' or 'www-data' user
# Fix: ensure the user running Nginx can read the files
chown -R nginx:nginx /var/www/html/
# 2. No index file in directory — add to server block:
location / {
index index.html index.php;
}
# 3. SELinux blocking access (CentOS/RHEL)
setsebool -P httpd_read_user_content 1
# Or set proper context:
chcon -R -t httpd_sys_content_t /var/www/html/SELinux, CentOS ve RHEL sistemlerinde Nginx 403 hatalarinin siklikla gozden kacirilan bir nedenidir. Dosya izinleri dogru olsa bile, SELinux Nginx surecinin dosyalari okumasini engelleyebilir. Yukaridaki chcon komutu bu sorunu cozer.
HTTP Baslik Bilgileriyle 403 Hatalarini Ayiklama
Nedeni tam olarak belirleyemediginizde, sunucunun HTTP yanit basliklarini inceleyin. Bunlar genellikle istegin neden engellendigine dair ipuclari icerir.
DNS Robot'un HTTP Headers aracini veya terminalden curl komutunu kullanarak tam yaniti gorebilirsiniz.
# Check response headers for a 403 page
curl -I https://example.com/restricted-page
# Look for these headers:
# X-Blocked-By: Wordfence → WordPress security plugin
# cf-ray: abc123-LAX → Cloudflare blocked it
# server: cloudflare → Cloudflare is in the path
# X-Sucuri-Block: 1 → Sucuri firewall
# X-WAF-Status: blocked → Web Application FirewallX-Blocked-By, cf-ray ve ozel X-WAF basliklari gibi basliklar, istegi hangi sistemin engelledigini tam olarak soyler. Bu, sorun giderme isleminizi sorumlu olan belirli guvenlik duvari, CDN veya guvenlik eklentisine daraltir.
403 Hatasi SEO'yu Etkiler mi?
Evet, 403 hatalari taranabilir sayfalari etkilerse arama siralama nizi olumsuz etkileyebilir. Googlebot bir 403 ile karsilastiginda, sayfayi engellenmis olarak degerlendiri r ve sonunda dizinden cikarir.
Kasitli olarak kisitlanmis sayfalardaki (yonetim panelleri, ozel dosyalar) birkac 403 hatasi normaldir ve SEO'nuzu etkilemez. Ancak halka acik icerik 403 dondururse, Google birkac gun icinde bu sayfalari siralamayi durduracaktir.
Google Search Console'da Pages → Not indexed → Blocked by 403 bolumunu kontrol ederek Googlebot'un onemli sayfalardan engellenip engellenmedigini gorun.
403 Hatalarini Nasil Onlersiniz
Onleme, sorun gidermeden daha kolaydir. Sitenizde 403 hatalarindan kacinmak icin asagidaki uygulamalari takip edin.
Bastan dogru izinleri ayarlayin — dizinler icin 755, dosyalar icin 644, asla 777 degil
Her zaman bir index dosyasi bulundurun — her halka acik dizinde index.html veya index.php olmali
.htaccess degisikliklerini test edin — degistirmeden once dosyayi yedekleyin, her seferinde bir kural test edin
WAF kurallarinizi izleyin — Cloudflare, Sucuri veya ModSecurity gunluklerini haftalik olarak gozden gecirin
Kendi IP'lerinizi beyaz listeye alin — ofis, ev ve dagitim sunucusu IP'lerinizin beyaz listede oldugunu dogrulayin
[HTTP Headers aracini](/http-headers) kullanin — sayfalarinizin 403 degil 200 dondurdugunu duzenli olarak kontrol edin
Izleme kurun — sayfalar 403 dondurmeye basladiginda uyari almak icin calisma suresi izlemesi kullanin
HTTP yanit basliklarinizi kontrol edin
DNS Robot'un ucretsiz HTTP Headers aracini kullanarak herhangi bir URL'nin yanit durumunu, basliklarini ve sunucu bilgilerini aninda inceleyin.
Try HTTP HeadersFrequently Asked Questions
403 Forbidden hatasi, sunucunun isteginizi anladigi ancak erisim izni vermeyi reddettigi anlamina gelir. Kaynak mevcuttur, ancak sunucu onu goruntuleme yetkinizin olmadigina karar vermistir — giris yapmis olsaniz bile.