Web Güvenliği Neden Kritik?
Her gün dünya genelinde binlerce web sitesi saldırıya uğramaktadır. Bir güvenlik açığı; müşteri verilerinin çalınmasına, sitenin ele geçirilmesine veya KVKK kapsamında idari para cezalarına yol açabilir.
OWASP Top 10
| Sıra | Açık | Açıklama |
|---|---|---|
| 1 | Broken Access Control | Yetkisiz kaynaklara erişim |
| 2 | Cryptographic Failures | Zayıf şifreleme veya düz metin veri |
| 3 | SQL Injection | Kötü amaçlı sorgu enjeksiyonu |
| 4 | XSS | Zararlı script enjeksiyonu |
| 5 | Security Misconfiguration | Yanlış sunucu yapılandırması |
SQL Injection Önleme
// YANLIŞ - SQL Injection acigi var!
// $sorgu = "SELECT * FROM kullanicilar WHERE email = " . $_POST["email"];
// DOGRU - PDO Prepared Statement
$stmt = $pdo->prepare("SELECT * FROM kullanicilar WHERE email = :email");
$stmt->execute(["email" => $_POST["email"]]);
XSS Önleme
// YANLIŞ
// echo $_POST["yorum"];
// DOGRU
echo htmlspecialchars($_POST["yorum"], ENT_QUOTES, "UTF-8");
CSRF Koruması
// Token olustur
$_SESSION["csrf"] = bin2hex(random_bytes(32));
// Forma ekle: <input type="hidden" name="csrf" value="...">
// Dogrula
if (!hash_equals($_SESSION["csrf"], $_POST["csrf"] ?? "")) {
die("CSRF dogrulama basarisiz.");
}
Parola Güvenliği
// Kayıt
$hash = password_hash($_POST["sifre"], PASSWORD_BCRYPT);
// Giriş
if (password_verify($_POST["sifre"], $kayitliHash)) {
// Giris basarili
}
Ek Güvenlik Önlemleri
- HTTPS (SSL/TLS) zorunlu olarak kullanın
- HTTP güvenlik başlıkları ekleyin (Content-Security-Policy, X-Frame-Options)
- Dosya yükleme işlemlerinde MIME tipi doğrulaması yapın
- Rate limiting ile brute-force saldırılarını önleyin
- Hata mesajlarında veritabanı bilgisi ifşa etmeyin
Sıkça Sorulan Sorular
WordPress sitemin güvenliğini nasıl sağlarım?
Wordfence eklentisi kurun, eklentileri güncel tutun, varsayılan admin kullanıcı adını değiştirin ve iki faktörlü doğrulama (2FA) aktif edin.