Bloglara Dön

ÖFÖ ile PHP Güvenlik Açıklarını Kapatın

ÖFÖ
25/10/2026
63 görüntülenme

ÖFÖ ile PHP Güvenlik Açıklarını Kapatın: İşletmenizi Siber Tehditlere Karşı Koruma Rehberi

PHP tabanlı web uygulamanız bir gecede hacklendiğini ve müşteri verilerinizin internette satıldığını düşünün. Korkunç değil mi? Maalesef bu senaryo, güvenlik testlerini ihmal eden binlerce işletme için gerçek bir kabusa dönüşüyor. PHP'nin popülerliği, aynı zamanda siber saldırganların da en çok hedef aldığı platform haline gelmesi anlamına geliyor. 2023 yılında sadece SQL Injection ve XSS açıkları nedeniyle küçük ve orta ölçekli işletmelerin uğradığı maddi zararın 4 milyar doları aştığı tahmin ediliyor.

ÖFÖ ekibi olarak, son 5 yılda 200'den fazla PHP projesini penetrasyon testlerinden geçirerek kritik güvenlik açıklarını tespit ettik ve kapattık. Bu yazıda, işletmenizi tehdit eden en yaygın PHP güvenlik zafiyetlerini ve ÖFÖ ile çalışarak nasıl kalıcı çözümler üretebileceğinizi adım adım inceleyeceğiz.

Neden PHP Güvenliği İşletmenizin Hayati Bir Meseledir?

PHP ile geliştirilmiş bir e-ticaret sitesi, müşteri yönetim paneli veya içerik yönetim sistemi, günlük iş operasyonlarınızın kalbi konumunda. Ancak bu sistemlerdeki tek bir güvenlik açığı:

  • Veri ihlali bildirim cezaları (GDPR: 20 milyon Euro'ya kadar)
  • Müşteri güveninin kaybı ve marka itibarının zedelenmesi
  • Finansal dolandırıcılık ve yasal sorumluluklar
  • Rakiplerinize bilgi sızdırma riski

ÖFÖ.dev hizmetleri kapsamında gerçekleştirdiğimiz güvenlik denetimleri, işletmelerin ortalama %73'ünde kritik seviyede açık bulduğumuzu gösteriyor. İyi haber? Bu açıkların çoğu basit kod düzeltmeleriyle ve doğru mimari yaklaşımlarla kapatılabilir.

En Yaygın 5 PHP Güvenlik Açığı ve ÖFÖ Çözümleri

1. SQL Injection: Veritabanınızın Arka Kapısı

SQL Injection, saldırganın veritabanınıza yetkisiz erişim sağlayarak müşteri bilgilerinizi çalmasına, hatta tüm sistemi ele geçirmesine olanak tanır. 2024'ün ilk çeyreğinde Türkiye'deki e-ticaret sitelerine yönelik saldırıların %41'ini SQL Injection oluşturuyor.

Güvensiz Kod Örneği:

$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($conn, $query);

Bu koda ' OR '1'='1 girildiğinde, tüm kullanıcı tablosuna erişim sağlanır.

Güvenli Çözüm:

$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
$stmt->execute([$_POST['username'], $_POST['password']]);
$user = $stmt->fetch();

ÖFÖ ile çalışarak, mevcut PHP kodunuzu Prepared Statements kullanacak şekilde yeniden yapılandırıyoruz. Ayrıca veritabanı kullanıcı izinlerini en aza indirgeyerek, olası bir sızıntıda zararı minimuma çekiyoruz.

2. XSS (Cross-Site Scripting): Müşterilerinizin Tarayıcısını Ele Geçirme

XSS açıkları, saldırganın sitenize zararlı JavaScript kodları enjekte etmesine izin verir. Bu kodlar, müşterilerinizin tarayıcısında çalışarak oturum çerezlerini çalabilir, şifrelerini kaydedebilir veya onları başka sitelere yönlendirebilir.

Güvensiz Kod:

echo "Merhaba, " . $_GET['name'];

Güvenli Çözüm:

echo "Merhaba, " . htmlspecialchars($_GET['name'], ENT_QUOTES, 'UTF-8');

ÖFÖ'nun penetrasyon testleri, otomatik tarama araçlarıyla tespit edilemeyen saklı XSS açıklarını bile buluyor. XSS filtreleme kütüphaneleri entegre ediyor ve Content Security Policy (CSP) başlıklarını doğru yapılandırıyoruz.

3. CSRF (Cross-Site Request Forgery): Kullanıcıların İzni Olmadan İşlem Yaptırma

CSRF saldırıları, oturum açmış bir yöneticinin tarayıcısını kullanarak, onun haberi olmadan kritik ayarları değiştirmenizi sağlar. Örneğin, bir yönetici zararlı bir linke tıkladığında, site yönetici panelindeki kullanıcı rollerini değiştirebilirsiniz.

Güvenli Çözüm:

session_start();
if (empty($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}

// Formda gizli alan olarak
echo '<input type="hidden" name="csrf_token" value="' . $_SESSION['csrf_token'] . '">';

// Form işlemede
if (!hash_equals($_SESSION['csrf_token'], $_POST['csrf_token'])) {
    die("Geçersiz CSRF token!");
}

ÖFÖ size yardımcı olabilir, tüm formlarınıza CSRF koruması ekleyerek ve SameSite çerez politikalarını yapılandırarak bu riski tamamen ortadan kaldırırız.

4. Dosya Yükleme Açıkları: Sunucunuzun Tam Kontrolünü Ele Geçirme

Kullanıcıların profil fotoğrafı veya belge yüklediği alanlar, doğru doğrulama yapılmazsa saldırganların sunucunuza zararlı PHP shell yüklemesi için mükemmel bir kapı olabilir.

Güvenli Doğrulama:

$allowed_types = ['image/jpeg', 'image/png'];
$max_size = 2 * 1024 * 1024; // 2MB

if (!in_array($_FILES['upload']['type'], $allowed_types)) {
    die("Geçersiz dosya tipi!");
}
if ($_FILES['upload']['size'] > $max_size) {
    die("Dosya boyutu çok büyük!");
}

// Dosya adını rastgele yap
$extension = pathinfo($_FILES['upload']['name'], PATHINFO_EXTENSION);
$new_name = bin2hex(random_bytes(16)) . '.' . $extension;
move_uploaded_file($_FILES['upload']['tmp_name'], '/uploads/' . $new_name);

ÖFÖ ile çalışarak dosya yükleme sistemlerinizi multi-layer güvenlik ile koruyoruz: MIME tipi kontrolü, uzantı filtreleme, virüs taraması ve izole depolama alanı kullanımı.

5. Zayıf Oturum Yönetimi: Kullanıcı Girişlerini Ele Geçirme

Zayıf oturum yönetimi, kullanıcıların oturumlarının çalınmasına ve hesaplarının ele geçirilmesine yol açar. Özellikle session fixation ve session hijacking saldırıları büyük risk oluşturur.

Güvenli Oturum Yapılandırması:

ini_set('session.cookie_httponly', 1);
ini_set('session.cookie_secure', 1);
ini_set('session.cookie_samesite', 'Strict');
ini_set('session.use_strict_mode', 1);

session_start();
if (!isset($_SESSION['initiated'])) {
    session_regenerate_id(true);
    $_SESSION['initiated'] = true;
}

ÖFÖ ekibi, oturum yönetiminizi OWASP standartlarına uygun hale getirir, oturum zaman aşımı politikalarını optimize eder ve anomali tespit sistemleri kurar.

ÖFÖ ile Kapsamlı Güvenlik Denetimi: Neleri Test Ediyoruz?

ÖFÖ.dev hizmetleri olarak sadece yukarıdaki temel açıkları değil, aynı zamanda:

  • Business Logic Flaws: Uygulamanızın iş akışındaki mantık hatalarını test ediyoruz
  • API Güvenliği: REST ve GraphQL endpoint'lerinizi inceliyoruz
  • Yetki Yükseltme: Normal kullanıcıların yönetici yetkilerine erişip erişemediğini kontrol ediyoruz
  • Veritabanı Konfigürasyonları: MySQL ve MongoDB güvenlik ayarlarınızı analiz ediyoruz
  • Üçüncü Parti Kütüphaneler: Kullandığınız Composer paketlerindeki bilinen açıkları tarıyoruz

Her test sonrası detaylı bir rapor sunuyoruz. Bu raporda bulunan açıkların CVSS skoru, potansiyel etkisi ve somut çözüm önerileri yer alıyor. ÖFÖ size yardımcı olabilir, kritik açıkları 48 saat içinde kapatma garantisi veriyoruz.

Neden Profesyonel Güvenlik Testi Yaptırmalısınız?

Otomatik tarama araçları yalnızca bilinen açıkları bulabilir. Ancak deneyimli bir siber güvenlik uzmanı, sizin iş mantığınıza özel, araçların kaçıracağı sıfır gün açıklarını ve mantık hatalarını tespit eder. ÖFÖ ile çalışarak şunları elde edersiniz:

  • White Box Test: Kaynak kodunuzu inceleyerek mimari zafiyetleri bulma
  • Gri Box Test: Kısıtlı erişimle dışarıdan saldırgan gözüyle analiz
  • Sürekli Destek: Açıklar kapatıldıktan sonra tekrar test ve doğrulama
  • UYUM SAĞ
#öfö #ofo.dev #php #security #php #web development #backend