Veri doğrulama, bir uygulamanın güvenliğini ve kararlılığını artırmak için kritik öneme sahip bir süreçtir. PHP, form verilerini güvenli bir şekilde işlemek için birçok yerleşik fonksiyon ve yöntem sunmaktadır. Bu yazıda, PHP 7.4 ile veri doğrulama yöntemleri, önemli noktalar ve örnekler üzerinden incelenecektir.
PHP’nin Yerleşik Fonksiyonları
PHP, çeşitli yerleşik fonksiyonlarla gelen veri doğrulama seçenekleri sunar. Bu fonksiyonlar sayesinde, kullanıcıdan alınan verilerin türü, formatı ve içeriği kontrol edilebilir. Örneğin, `filter_var()` fonksiyonu, belirli bir filtreleme uygulamak suretiyle verilerin doğruluğunu kontrol etmek için yaygın olarak kullanılmaktadır. Bu fonksiyon, URL, e-posta adresleri, IP adresleri gibi birçok veri türü için kullanılabilir.
“`php
$email = “example@example.com”;
if (filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo “Geçersiz e-posta adresi.”;
} else {
echo “Geçerli e-posta adresi.”;
}
“`
Özel Doğrulama Fonksiyonları
Veri doğrulama esnasında, yerleşik fonksiyonların yanı sıra özel doğrulama fonksiyonları da oluşturulabilir. Özel fonksiyonlar, uygulamanın ihtiyaçlarına uygun olarak belirli kontrollerin yapılmasına olanak tanır. Aşağıda, bir kullanıcı adının doğruluğunu kontrol eden basit bir örnek verilmiştir:
“`php
function validateUsername($username) {
if (preg_match(‘/^[a-zA-Z0-9_]{5,20}$/’, $username)) {
return true;
} else {
return false;
}
}
“`
Bu fonksiyon, kullanıcı adının yalnızca büyük/küçük harfler, rakamlar ve alt çizgi içermesi gerektiğini ve uzunluğunun 5 ile 20 karakter arasında olması gerektiğini kontrol eder.
Form Doğrulama
Kullanıcıdan alınan verilerin doğrulanması, genellikle form gönderimleri sırasında gerçekleştirilir. PHP’de, gelen verileri doğrulamak için hem sunucu tarafında hem de istemci tarafında doğrulama işlemleri yapılabilir. Sunucu tarafı doğrulama, verilerin doğruluğunu sağlarken, istemci tarafı doğrulama ise kullanıcı deneyimini artırır.
“`php
if ($_SERVER[“REQUEST_METHOD”] == “POST”) {
$username = $_POST[‘username’];
if (!validateUsername($username)) {
echo “Kullanıcı adı geçersiz.”;
} else {
echo “Kullanıcı adı geçerli.”;
}
}
“`
Hata Mesajları ve Geri Bildirim
Veri doğrulama sürecinde, kullanıcıya oluşan hatalar hakkında açıklayıcı geri bildirimde bulunmak önemlidir. Hatalar net bir şekilde belirtildiğinde, kullanıcıların formu sağlıklı bir şekilde doldurmaları sağlanabilir. Ek olarak, hata mesajlarının kullanıcı dostu olması tavsiye edilmektedir.
“`php
$errorMessages = [];
$username = $_POST[‘username’];
if (!validateUsername($username)) {
$errorMessages[] = “Kullanıcı adı geçerli ve 5 ile 20 karakter arasında olmalıdır.”;
}
“`
Hata mesajları, kullanıcıya gönderilen form sayfasında uygun bir şekilde sergilenmelidir.
XSS ve SQL Enjeksiyonu Koruma
Veri doğrulama, yalnızca verilerin biçimsel özelliklerini kontrol etmekle kalmaz, aynı zamanda güvenlik tehditlerine karşı koruma sağlamak için de önemlidir. XSS (Cross-Site Scripting) ve SQL enjeksiyonu gibi saldırılara karşı koruma sağlamak adına kullanıcıdan alınan verilerin, uygun şekilde temizlenmesi ve filtrelenmesi gerekir.
“`php
$inputData = $_POST[‘user_input’];
$safeData = htmlspecialchars($inputData, ENT_QUOTES, ‘UTF-8’);
// Bu şekilde, XSS saldırılarına karşı koruma sağlanır.
“`
Kullanıcı Girdilerini Depolarken Doğrulama
Veri doğrulama yalnızca ön yüz işlemleri için değil, veri tabanına kaydedilecek verilerin doğruluğunu kontrol etmek için de gereklidir. Kullanıcıdan alınacak verilerin her zaman kontrol edilmesi, veritabanının sağlıklı bir yapılandırma ile kullanılmasını sağlar.
“`php
if ($validInput) {
// Veritabanına kayıt işlemleri
$stmt = $pdo->prepare(“INSERT INTO users (username) VALUES (:username)”);
$stmt->execute([‘username’ => $username]);
}
“`
Bu şekilde, yalnızca doğrulanan veriler veri tabanına kaydedilir.
Sonuç
PHP 7.4 ile veri doğrulama, uygulamaların güvenliğini ve kullanıcı deneyimini artırmak adına büyük önem taşımaktadır. Yerleşik fonksiyonlar, özel doğrulama yöntemleri ve güvenlik önlemleri bir arada kullanılarak kullanıcıdan alınan verilerin doğruluğu sağlanabilir. Kullanıcı geri bildirimlerinin doğru bir şekilde iletilmesi, sistemin etkinliğini artırmak adına kritik öneme sahiptir. Veri doğrulama işlemleri, hem form işleme süreçlerinde hem de veri tabanına kayıt aşamalarında dikkatle gerçekleştirilmelidir.


