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
Apache Erişim Kontrolü

Hassas Dosyalar ve IP Adresleri `.htaccess` ile Nasıl Engellenir?

Apache 2.4 erişim kontrolünde `Require` directive’i kullanılır. Hassas dosyalar, yedekler ve upload klasöründeki çalıştırılabilir uzantılar seçici şekilde engellenebilir; IP allowlist ise reverse proxy/Cloudflare arkasında gerçek istemci IP’si doğru yapılandırılmadan uygulanmamalıdır.

Require all deniedFilesMatchIP Allowlist.env403
Apache / LiteSpeed Diagnostics
403 Forbidden
Require all denied
client denied by server configuration
AH01630: client denied
Directory index forbidden
01Dosyayı ve document root’u doğrulayın
02Yedek alıp hata logunu okuyun
03Sunucu ve uygulama bağlamını ayırın
04curl ile canlı sonucu doğrulayın
01
Güvenli teknik yaklaşım

Dosya, Klasör ve IP Erişim Engelleme nasıl analiz edilir?

Apache 2.4 erişim kontrolünde `Require` directive’i kullanılır. Hassas dosyalar, yedekler ve upload klasöründeki çalıştırılabilir uzantılar seçici şekilde engellenebilir; IP allowlist ise reverse proxy/Cloudflare arkasında gerçek istemci IP’si doğru yapılandırılmadan uygulanmamalıdır.

01

Sunucu türünü belirleyin

Apache, LiteSpeed, Plesk proxy veya NGINX-only yapıyı ayırmadan `.htaccess` sonucu beklemeyin.

02

Yedek ve log alın

Mevcut dosyayı tarihli yedekleyin; Apache/LiteSpeed hata kaydındaki directive ve satırı bulun.

03

Tek kural değiştirin

Redirect, rewrite, header ve erişim kurallarını aynı anda topluca değiştirmeyin.

04

Dışarıdan test edin

curl ile status, Location, Content-Type ve redirect sayısını ölçüp cache katmanlarını ayrıca kontrol edin.

Tüm site kökünde koşulsuz `Require all denied` kullanmayın.

02
Canlı sorun sözlüğü

Apache, yönlendirme ve erişim mesajları

01kritik

.env veya yedek indirilebiliyor

Anlamı: Hassas yapılandırma dosyası web üzerinden erişilebilir.

Muhtemel neden: Erişim kuralı yok veya NGINX-only.

02kritik

Uploads içinde PHP çalışıyor

Anlamı: Yüklenen zararlı dosya çalıştırılabilir.

Muhtemel neden: Upload dizininde script execution açık.

03uyari

Require all denied tüm siteyi kapattı

Anlamı: Kural yanlış klasör veya geniş FilesMatch’te.

Muhtemel neden: Scope hatası.

04uyari

IP allowlist herkesi engelliyor

Anlamı: Apache proxy IP’sini görüyor.

Muhtemel neden: mod_remoteip veya trusted proxy ayarı yok.

05uyari

403 only behind Cloudflare

Anlamı: Origin erişim kuralı Cloudflare IP’leriyle uyumsuz.

Muhtemel neden: Remote IP yanlış.

06uyari

Options -Indexes 500 üretiyor

Anlamı: Options override izni kapalı.

Muhtemel neden: AllowOverride Options yok.

07uyari

Apache 2.2 kuralı etkisiz/uyumsuz

Anlamı: Order/Deny/Allow eski syntax.

Muhtemel neden: Apache 2.4 geçişi.

08bilgi

403 beklenen güvenlik sonucu

Anlamı: Korumalı dosya başarıyla engelleniyor.

Muhtemel neden: Require/FilesMatch eşleşti.

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

03
Kopyalanabilir kontroller

curl, Apache log ve dosya testleri

Hassas dosya URL testi

for p in .env .git/config backup.zip database.sql error.log; do curl -sS -o /dev/null -w "$p %{http_code}\n" "https://example.com/$p"; done

Yaygın hassas dosyaların HTTP durumunu kontrol eder.

Dizin listeleme testi

curl -sL https://example.com/uploads/ | head -n 30

Index dosyası olmayan klasörde listeleme çıktısı olup olmadığını gösterir.

PHP upload taraması

find uploads -type f \( -iname '*.php' -o -iname '*.phtml' -o -iname '*.phar' -o -iname '*.php*' \) -print

Upload klasöründeki çalıştırılabilir PHP benzeri dosyaları listeler.

Erişim kuralları

grep -RniE 'Require|FilesMatch|Files>|Options -Indexes|Order|Deny|Allow' . --include='.htaccess' | head -n 120

Tüm alt dizin erişim kurallarını bulur.

Gerçek istemci IP header’ları

curl -sSI https://example.com/ip-test | grep -iE '^server:|^cf-connecting-ip:|^x-forwarded-for:|^x-real-ip:'

Proxy/CDN işaretlerini kontrol eder; origin uygulamasının ayrıca loglanması gerekir.

Apache access log

tail -n 100 /var/log/apache2/access.log 2>/dev/null || tail -n 100 /usr/local/apache/domlogs/example.com 2>/dev/null || tail -n 100 /var/log/httpd/access_log

403 ve istemci IP kayıtlarını gösterir.

04
Doğru ve hatalı yapı

.htaccess kural karşılaştırmaları

Hassas uzantılar

Riskli / Hatalı
<FilesMatch ".*">
Require all denied
</FilesMatch>
Doğru Yaklaşım
<FilesMatch "(?i)^(?:\.env|\.git|.*\.(?:sql|log|bak|ini|zip))$">
Require all denied
</FilesMatch>

Upload PHP engeli

Riskli / Hatalı
Require all denied
Doğru Yaklaşım
<FilesMatch "(?i)\.(?:php[0-9]?|phtml|phar)$">
Require all denied
</FilesMatch>

Admin IP allowlist

Riskli / Hatalı
Require ip %{HTTP:X-Forwarded-For}
Doğru Yaklaşım
<RequireAny>
Require ip 203.0.113.10
Require ip 198.51.100.0/24
</RequireAny>

Dizin listeleme

Riskli / Hatalı
IndexIgnore *
Doğru Yaklaşım
Options -Indexes
05
Altyapıya göre uygulama

Apache, cPanel, Plesk, LiteSpeed ve uygulamalar

Apache / LiteSpeed

FilesMatch, Require ve Options directive’leri uygun AllowOverride sınıfıyla çalışır.

  • Hassas dosyayı öncelikle web root dışına taşıyın.
  • FilesMatch regex’ini staging’de test edin.
  • 403 loglarını izleyin.

Cloudflare / Reverse Proxy

IP kuralları gerçek istemci yerine proxy IP’sini görebilir.

  • mod_remoteip/trusted proxy ayarını server seviyesinde yapın.
  • Header değerine `.htaccess` içinde körlemesine güvenmeyin.
  • Origin erişimini Cloudflare IP’leriyle ayrıca sınırlandırabilirsiniz.

WordPress / WISECP / Uploads

Config, log, backup ve upload dizinleri uygulama erişimini bozmadan korunmalıdır.

  • wp-config ve WISECP config dosyalarının URL erişimini test edin.
  • Uploads içinde PHP execution kapatın.
  • Güncelleme/backup eklentilerinin ihtiyaçlarını kontrol edin.
Yanlış müdahaleler

Kesinlikle yapmayın

  • Tüm site kökünde koşulsuz `Require all denied` kullanmayın.
  • X-Forwarded-For header’ını doğrulamadan IP yetkilendirmesi yapmayın.
  • Yalnız `.htaccess` kuralına güvenip hassas yedekleri web rootta bırakmayın.
  • Upload klasöründeki şüpheli dosyaları incelemeden yalnız uzantısını değiştirmeyin.
İşlem sonrası kontrol

Çözümü doğrulayın

  • Hassas URL’ler 403/404 ve normal statik dosyalar 200 dönüyor.
  • Upload klasöründe PHP benzeri çalıştırılabilir dosya yok.
  • IP allowlist gerçek istemci IP’siyle doğru çalışıyor.
  • Uygulama config/log dosyalarına filesystem üzerinden erişmeye devam ediyor.
06
İç SEO içerik kümesi

İlgili .htaccess çözümleri

07
Birincil kaynaklar

Apache, WordPress ve panel belgeleri

08
Sık sorulan sorular

Dosya, Klasör ve IP Erişim Engelleme hakkında merak edilenler

Dosya, Klasör ve IP Erişim Engelleme kuralı NGINX’te çalışır mı?

Hayır. NGINX `.htaccess` dosyalarını okumaz. Kuralın `server` veya `location` yapılandırmasına çevrilmesi gerekir.

.htaccess değişikliği için Apache restart gerekir mi?

Genellikle hayır; Apache `.htaccess` dosyasını istek sırasında değerlendirir. Ancak sunucu VirtualHost, modül veya AllowOverride değişikliğinde reload/restart gerekir.

Dosyayı düzenlemeden önce ne yapılmalı?

Mevcut dosyanın tarihli yedeği alınmalı, aktif document root doğrulanmalı ve değişiklik staging veya düşük trafikli zamanda test edilmelidir.

cPanel ile Plesk’te dosya nerede bulunur?

cPanel’de çoğunlukla `public_html`, Plesk’te `httpdocs` içindedir; addon domain ve subdomainlerin document root’u farklı olabilir.

LiteSpeed `.htaccess` kurallarını destekler mi?

LiteSpeed Apache uyumluluğu sayesinde kuralların büyük bölümünü destekler; bazı modül ve handler davranışları farklı olabilir.

500 hatasında ilk bakılacak yer neresi?

Apache/LiteSpeed error log içindeki tam directive ve satır kaydıdır. Dosyayı rastgele silmek yerine loga göre geri alınmalıdır.

Bu kodlar doğrudan canlı siteye eklenebilir mi?

Alan adı, document root, proxy, WordPress ve sunucu yapısı doğrulanmadan doğrudan eklenmemelidir. Örnekler uyarlanıp test edilmelidir.

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

.htaccess ve Apache kurallarını siteyi erişilemez hâle getirmeden düzenleyelim

cPanel, Plesk, LiteSpeed, WordPress, özel PHP ve WISECP yapılarında yönlendirme, rewrite, CORS, erişim ve 500 hatalarını loglarla birlikte inceliyoruz.

Sunucu Desteği AlWhatsApp
Top