Php 8 Form Güvenliği
PHP 8'de form güvenliği, web uygulamalarında kullanıcıdan alınan girdilerin güvenli şekilde işlenmesini ve saldırılara karşı korunmasını amaçlar. Form güvenliği sağlanmazsa, saldırganlar çeşitli güvenlik açıklarını kullanarak sisteme zarar verebilir. İşte PHP 8'de form güvenliği için alınması gereken önlemler:
1. CSRF (Cross-Site Request Forgery) Koruması
CSRF, kullanıcıdan habersiz bir şekilde istek yapmayı sağlayan bir saldırı türüdür. PHP ile CSRF koruması sağlamak için:
- Formlara CSRF token eklenir.
- Form gönderildiğinde sunucuda bu token doğrulanır.
Örnek:
// Formda CSRF token ekleme <input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token']; ?>"> // Form gönderildiğinde token doğrulama if ($_POST['csrf_token'] !== $_SESSION['csrf_token']) { die('CSRF token doğrulaması başarısız!'); } 2. XSS (Cross-Site Scripting) Koruması
XSS, saldırganların zararlı JavaScript kodlarını diğer kullanıcıların tarayıcılarında çalıştırmasını sağlar. Kullanıcı girdilerini güvenli bir şekilde işlemek için:
- Formdan alınan veriler, HTML içeriğine eklenmeden önce
htmlspecialcharsgibi fonksiyonlarla temizlenmelidir.
Örnek:
// XSS koruması için kullanıcı girdisini temizleme $input = htmlspecialchars($_POST['input'], ENT_QUOTES, 'UTF-8'); 3. SQL Injection Koruması
Kullanıcı girdilerini SQL sorgularına doğrudan dahil etmek, SQL enjeksiyonuna neden olabilir. Bunu önlemek için:
- Veritabanı sorguları hazırlıklı ifadeler (prepared statements) ile yapılmalıdır.
Örnek:
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email'); $stmt->execute(['email' => $_POST['email']]); 4. Veri Doğrulama ve Filtreleme
Kullanıcıdan gelen her veri doğru formatta mı diye kontrol edilmelidir:
-
filter_varfonksiyonu, belirli veri türleri (e-posta, URL vb.) için kullanılabilir.
Örnek:
// E-posta doğrulaması if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { die('Geçersiz e-posta adresi'); } 5. Şifreli Veri Gönderimi (HTTPS)
Form gönderimlerinin güvenli bir şekilde iletilmesi için HTTPS kullanmak önemlidir. HTTPS, formdaki verilerin sunucuya şifreli bir şekilde iletilmesini sağlar.
6. Şifreli Parola Saklama
Kullanıcı şifreleri password_hash fonksiyonu ile hashlenerek saklanmalıdır.
// Şifre hashleme $hashedPassword = password_hash($_POST['password'], PASSWORD_DEFAULT); 7. Dosya Yükleme Güvenliği
Form aracılığıyla yüklenen dosyalar kontrol edilmelidir. Yüklenen dosyanın türü, boyutu ve ismi doğrulanmalıdır.
// Dosya türü kontrolü $allowedTypes = ['image/jpeg', 'image/png']; if (!in_array($_FILES['file']['type'], $allowedTypes)) { die('Geçersiz dosya türü'); } Bu yöntemler, PHP 8 ile form güvenliği sağlamak için önemli adımlardır.
Bu ders size yardımcı oldu mu? Puan verin!
Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.
Sıkça Sorulan Sorular (SSS)
Bu ders ve konuyla ilgili en çok merak edilenler
Php 8 Form Güvenliği dersini öğrenmek için ön koşul var mı?
Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.
Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?
Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.
Takıldığım bir yerde nereden soru sorabilirim?
Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.
Topluluk Yorumları (0)
Ders Hakkında Yorum Yap veya Soru Sor
Henüz yorum yapılmamış. İlk yorumu siz yazın!