PHP Güvenliği El Kitabı
# PHP Güvenliği El Kitabı
Güvensiz koddan güvenli mimariye uzanan, mekanizma odaklı Türkçe PHP güvenliği referansı.
PHP · AppSec · Secure Coding · OWASP · Web Security · Türkçe Kaynak
Canlı proje: huseyingezici.com/php
Rolüm: Araştırma, teknik yazım, içerik mimarisi ve ürün geliştirme
Durum: Devam ediyor — yayımlanan 21 / 38 bölüm
Teknoloji: PHP 8.3, semantik HTML, modern CSS, LiteSpeed ve .htaccess
---
## Projenin çıkış noktası
Türkçe PHP güvenliği içeriklerinin önemli bir kısmı, geliştiriciye yalnızca hangi fonksiyonu kullanması gerektiğini söylüyor. Ancak bir güvenlik açığının neden oluştuğunu, saldırganın sistemi nasıl değerlendirdiğini ve aynı hatanın farklı bağlamlarda nasıl tekrar ortaya çıktığını yeterince açıklamıyor.
Bu proje, tam olarak bu eksiklikten doğdu.
PHP Güvenliği El Kitabı, güvenliği ezberlenecek kurallar listesi olarak değil, geliştirilecek bir düşünme biçimi olarak ele alan kapsamlı bir dijital referans eseridir. Amacı, geliştiriciye yalnızca güvenli kod örnekleri vermek değil; güvensiz kodun arkasındaki mekanizmayı, güven sınırlarını ve mimari kararları görünür hâle getirmektir.
<u>Temel yaklaşımım basit: Kuralı ezberleyen geliştirici yalnızca bildiği açığı kapatır; mekanizmayı anlayan geliştirici henüz karşılaşmadığı açığı da fark eder.</u>

Kitabın giriş ekranı, projenin ana fikrini tek cümlede özetliyor: Kuralları değil, mekanizmayı öğrenmek.
---
## Bir içerik arşivi değil, öğrenme sistemi
Kitabı hazırlarken bağımsız makalelerden oluşan bir arşiv kurmak istemedim. Bölümlerin birbirini beslediği, okurun temel kavramlardan gerçek saldırı sınıflarına ve güvenli mimariye ilerlediği bir öğrenme sistemi tasarladım.
İçerik toplam 38 derinlemesine üniteden oluşacak şekilde yedi ana kısma ayrıldı:
- Temeller ve Metodoloji
- Enjeksiyon Sınıfı Açıklar
- Kimlik, Yetki ve Oturum
- Dosya, Kaynak ve Sunucu
- API ve Modern Servis Güvenliği
- Altyapı Sertleştirme
- Operasyon, Tespit ve Vaka Müdahalesi
Her konu; dil, protokol, işletim sistemi, veri ve mimari olmak üzere beş farklı katmanda inceleniyor. Böylece örneğin SQL Injection yalnızca hatalı bir sorgu olarak değil; güvenilmeyen verinin kod bağlamına karışması ve güven sınırının yanlış kurulması olarak ele alınıyor.

Dinamik içindekiler sayfası; yayımlanan bölüm sayısını, toplam kelime miktarını ve yaklaşık okuma süresini otomatik olarak gösteriyor.
---
## Her bölümde ortak 18 adımlı metodoloji
Kitabın en ayırt edici taraflarından biri, açık sınıflarının aynı düşünce zinciriyle incelenmesi. Her kapsamlı bölüm aşağıdaki ortak metodolojiyi takip ediyor:
1. Giriş ve temel teori
2. Mimarisel bakış
3. Güvensiz kod
4. Açığın analizi
5. Saldırganın bakış açısı
6. Exploit mantığı
7. Güvenli kod
8. Patch analizi
9. Gerçek hayat senaryosu
10. Gerçek CVE analizi
11. Detection
12. Prevention
13. Mitigation
14. Checklist
15. Laboratuvar
16. Quiz
17. Operasyonel çıkarımlar
18. Kaynakça
Bu yapı teori ile pratiği birbirinden ayırmıyor. Okur önce açığın kök nedenini görüyor, ardından güvensiz kodu inceliyor; saldırganın düşünce zincirini anladıktan sonra güvenli kodu, tespit yöntemlerini ve kalıcı önlemleri değerlendiriyor.
Amaç, “bu payload’ı kullan” demek değil; saldırının neden mümkün olduğunu ve sistemin hangi varsayımının kırıldığını göstermek.
---
## Savunma odaklı ve etik yaklaşım
Güvenlik içeriklerinde teknik derinlikle etik sorumluluk arasında doğru sınırı kurmak önemliydi. Bu nedenle kitap, saldırganın düşünce biçimini açıklarken kullanıma hazır silahlaştırılmış payload’lar veya kopyala-yapıştır saldırı araçları sunmuyor.
Kod örnekleri ve laboratuvarlar şu amaçlarla tasarlandı:
- Güvensiz davranışın kök nedenini göstermek
- Savunmanın neden işe yaradığını açıklamak
- Kod inceleme yetkinliği kazandırmak
- Loglarda ve sistem davranışında saldırı sinyallerini tanımak
- Gerçek sistemlerde uygulanabilir kontrol listeleri üretmek
Bu yaklaşım sayesinde içerik; backend geliştiricileri, AppSec uzmanları, pentester’lar, SOC/SIEM analistleri, güvenlik araştırmacıları ve yazılım öğrencileri için farklı okuma rotaları sunuyor.
---
## Okuma deneyimi ve arayüz tasarımı
Uzun teknik metinlerde arayüz, içeriğin önüne geçmemeli; okurun odağını korumalı. Bu nedenle okuyucu alanını koyu, sakin ve tipografi merkezli bir tasarım diliyle hazırladım.
Her bölüm sayfasında:
- Solda yayımlanan tüm bölümlere erişim sağlayan sabit navigasyon
- Sağda bölüm içi başlıkları gösteren içerik dizini
- Okuma süresi ve kelime sayısı
- Ön koşul ve bölüm kazanımı
- Önceki/sonraki bölüm geçişleri
- Mobil cihazlar için sadeleştirilmiş bölüm menüsü
- Kod, tablo, kontrol listesi ve uzun teknik metinler için özel biçimlendirme bulunuyor

Bölüm okuyucusu, uzun teknik içerikte navigasyonu ve okunabilirliği aynı anda koruyacak şekilde tasarlandı.
---
## Teknik uygulama
Proje, mevcut barındırma altyapısıyla uyumlu ve mümkün olduğunca bağımsız olacak şekilde geliştirildi. Herhangi bir framework veya JavaScript uygulama katmanı gerektirmiyor.
Temel teknik kararlar:
- Sunucu tarafında PHP 8.3
- Framework ve Composer bağımlılığı olmadan sade mimari
- LiteSpeed/Apache uyumlu temiz URL’ler
- İçeriklerin önceden işlenmiş güvenli HTML verisi olarak sunulması
- Dinamik bölüm sayıları, kelime miktarı ve okuma süresi
- Tek bir veri dosyası üzerinden kolay bölüm güncellemesi
- Güvenlik başlıkları ve içerik güvenliği politikası
- Open Graph ve sosyal paylaşım meta etiketleri
- Tamamen responsive okuyucu arayüzü
Yeni bir bölüm tamamlandığında tüm uygulamayı yeniden kurmak gerekmiyor. Güncellenmiş chapters.json dosyası yüklendiğinde içindekiler, yayın durumu, toplam kelime sayısı, okuma süresi ve bölüm geçişleri otomatik olarak güncelleniyor.
Bu yapı, kitabın devam eden üretim sürecini teknik açıdan sürdürülebilir hâle getiriyor.
---
## Bugünkü durum ve devam planı
Projenin tüm bölümleri yayımlandı. Mevcut içerik; PHP güvenlik temellerinden tehdit modellemeye, SQL Injection ve XSS’ten kimlik doğrulama, yetkilendirme, oturum güvenliği, dosya yükleme, path traversal ve SSRF’e kadar uzanıyor.
Sıradaki bölümlerde API güvenliği, JWT, OAuth 2.0, sır yönetimi, PHP ve sunucu sertleştirme, supply chain güvenliği, loglama, olay müdahalesi ve framework güvenliği ele alınacak.
PHP Güvenliği El Kitabı tamamlanmış bir içerik deposu değil; yayımlandıkça büyüyen, yaşayan bir güvenlik referansıdır.
---
## Projeyi inceleyin
PHP uygulamalarında güvenliği yalnızca fonksiyon isimleri üzerinden değil, saldırganın düşünce zincirinden güvenli mimariye kadar bütünsel biçimde incelemek için projeyi ziyaret edebilirsiniz.
PHP Güvenliği El Kitabı’nı incele →
PHP · AppSec · Secure Coding · Web Security · OWASP · Türkçe Kaynak