Kullanıcı Girdisi Temizleme (Sanitization) – Python, PHP ve ASP Örnekleri
Web uygulamalarında kullanıcıdan alınan veriler doğrudan kullanıldığında güvenlik riskleri oluşturabilir. Bu nedenle girdi temizleme (sanitization), güvenli kod yazımının temel adımlarından biridir.
1. Python’da Girdi Temizleme
Python’da strip(), replace() veya regex ile kullanıcı girdisi temizlenebilir:
1Python - Girdi temizleme23kullanici_girdisi = " <script>alert('hack');</script> "45Baş ve sondaki boşlukları temizleme67temiz_girdi = kullanici_girdisi.strip()89HTML etiketlerini kaldırma1011import re12temiz_girdi = re.sub(r"<.*?>", "", temiz_girdi)1314print(temiz_girdi) # alert('hack');2. PHP’de Girdi Temizleme
PHP’de trim(), htmlspecialchars() ve filter_var() kullanılabilir:
1<?php2$girdi = " <b>Merhaba</b> ";34# Baş ve sondaki boşlukları temizleme5$girdi = trim($girdi);67# HTML karakterlerini güvenli hâle getirme8$girdi = htmlspecialchars($girdi);9echo $girdi; // <b>Merhaba</b>1011# E-posta gibi verileri filtreleme12$email = " ornek@mail.com ";13$email = filter_var($email, FILTER_SANITIZE_EMAIL);14echo $email; // ornek@mail.com15?>3. ASP’de Girdi Temizleme
ASP (VBScript) kullanarak Replace() veya fonksiyonlarla temizlik yapılabilir:
1' ASP - Girdi temizleme2Dim girdi, temiz_girdi3girdi = " <b>Merhaba</b> "45' Baş ve sondaki boşlukları temizleme6temiz_girdi = Trim(girdi)78' HTML etiketlerini kaldırma (basit örnek)9temiz_girdi = Replace(temiz_girdi, "<b>", "")10temiz_girdi = Replace(temiz_girdi, "</b>", "")1112Response.Write temiz_girdi ' Merhabaİpuçları
Kullanıcı girdilerini sunucu tarafında da temizlemek güvenliği artırır
HTML ve JavaScript kodlarını etkisiz hâle getirmek için htmlspecialchars veya regex kullanın
SQL sorgularında parametreli sorgular ile kombin edildiğinde girdi temizleme çok daha güvenlidir
0 yorum