Form Verilerini Kontrol Etme
Form verilerinin kontrol edilmesi, kullanıcıların doğru ve geçerli verileri göndermesini sağlamak için önemlidir. Form verileri, önceden belirlenmiş bir dizi kurala göre doğru biçimde doldurulduğunda kabul edilir.
Aşağıda, form verilerini kontrol etmek için kullanılan bazı tekniklerin açıklaması ve örnekleri verilmiştir:
1. Boş Alan Kontrolü
Form alanlarından bir veya daha fazlasının boş bırakılması, formun kabul edilemez olduğu anlamına gelebilir. Bu nedenle, boş alanların kontrol edilmesi önemlidir. Bunun için, PHP'de empty()
fonksiyonu kullanılır.
2. Veri Türü Kontrolü
Form alanlarından alınacak verinin doğru türde olması gerektiği durumlarda, PHP'de is_numeric()
veya is_string()
gibi fonksiyonlar kullanılır.
3. Veri Uzunluğu Kontrolü
Form alanlarından alınacak verinin belirli bir uzunluk aralığında olması gerektiği durumlarda, PHP'de strlen()
fonksiyonu kullanılır.
4. Veri Formatı Kontrolü
Form alanlarından alınacak verinin belirli bir formatta olması gerektiği durumlarda, PHP'de preg_match()
fonksiyonu kullanılır.
Yukarıdaki örnek, kullanıcı adının yalnızca harfler, sayılar ve alt çizgi karakteri içerebileceğini belirtir.
Form verilerini kontrol etmek, web uygulamalarının güvenliği için önemlidir. Ancak, form verilerinin doğru ve güvenli bir şekilde işlenmesi, yalnızca form verilerini kontrol etmekle sınırlı değildir.
Form Verilerini Güvenli Hale Getirme
Form verilerini alırken, kullanıcının gönderdiği verilerin güvenli olmadığını ve manipüle edilebileceğini unutmamak önemlidir. Bu nedenle, form verilerini alırken ve işlerken güvenliğini sağlamak için bazı adımlar atmak gereklidir. Bu adımlar şunları içerebilir:
Gereksiz karakterleri filtreleme ve doğrulama: Verileri filtreleme, gereksiz karakterleri kaldırma ve doğrulama, güvenliği artırmaya yardımcı olur. Bu adımlar, özellikle sayısal girdiler için önemlidir. Örneğin, kullanıcının yalnızca sayısal karakterler girebileceği bir alan varsa, girdiyi kontrol etmek ve sadece sayıları geçerli olarak kabul etmek önemlidir.
Veri türü doğrulaması: Form verileri genellikle belirli bir veri türüne sahip olmalıdır. Örneğin, bir e-posta adresi, belirli bir formatta olmalıdır. Veri türü doğrulaması, bu gereksinimleri sağlamak için kullanılabilir.
SQL enjeksiyon saldırılarına karşı koruma: Form verilerinin veritabanına kaydedilmesi gerekiyorsa, SQL enjeksiyon saldırılarına karşı korunmak önemlidir. Bu, kullanıcı tarafından sağlanan verilerin güvenilirliğini sağlamak için güvenlik önlemlerinin alınmasını içerir.
Aşağıda, form verilerini güvenli hale getirmek için bir örnek gösterilmiştir:
Bu örnekte, filter_input()
fonksiyonu kullanılarak kullanıcı adı ve şifre değişkenleri temizleniyor. Ardından, SQL enjeksiyon saldırılarına karşı korumak için hazırlanmış bir veritabanı sorgusu yapılıyor. Bu sorgu, önceden hazırlanmış ifadeler, veritabanına yerleştirilecek değerlerin yerini belirlemek için kullanılır. Bu değerler kullanıcı tarafından sağlandığı için, SQL enjeksiyonu gibi kötü amaçlı saldırılara karşı koruma sağlamak için bu yöntem önerilir.
Örneğin, aşağıdaki kod örneği, kullanıcının adını ve şifresini içeren bir formdan veri alır ve veritabanına kaydeder. Kaydetmeden önce, gelen veriler "filter_input()" fonksiyonu kullanılarak temizlenir ve hazırlanmış ifadeler kullanılarak SQL enjeksiyonuna karşı koruma sağlanır:
Bu örnekte, "filter_input()" fonksiyonu kullanılarak, "INPUT_POST" parametresi ile $_POST dizisinden gelen veriler filtreleniyor. Bu, gelen verilerin temizlenmesine ve güvenli hale getirilmesine yardımcı olur.
Daha sonra, "PDO" nesnesi kullanılarak veritabanına bağlanılıyor ve hazırlanmış ifadeler kullanılarak "INSERT INTO" sorgusu oluşturuluyor. Bu sorguda, "bindParam()" fonksiyonu kullanılarak, sorguya yerleştirilecek olan değişkenler belirleniyor. Bu sayede, SQL enjeksiyonuna karşı koruma sağlanmış oluyor.
Son olarak, "execute()" fonksiyonu kullanılarak sorgu çalıştırılıyor ve veriler veritabanına kaydediliyor.
Last updated
Was this helpful?