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.

Kullanıcı girdilerini temizlemek, SQL injection, XSS ve diğer saldırılara karşı kritik bir güvenlik önlemidir.

1. Python’da Girdi Temizleme

Python’da strip(), replace() veya regex ile kullanıcı girdisi temizlenebilir:

1Python - Girdi temizleme
2
3kullanici_girdisi = " <script>alert('hack');</script> "
4
5Baş ve sondaki boşlukları temizleme
6
7temiz_girdi = kullanici_girdisi.strip()
8
9HTML etiketlerini kaldırma
10
11import re
12temiz_girdi = re.sub(r"<.*?>", "", temiz_girdi)
13
14print(temiz_girdi) # alert('hack');
Regex ile HTML ve özel karakterler temizlenerek güvenli hale getirilir.

2. PHP’de Girdi Temizleme

PHP’de trim(), htmlspecialchars() ve filter_var() kullanılabilir:

1<?php
2$girdi = " <b>Merhaba</b> ";
3
4# Baş ve sondaki boşlukları temizleme
5$girdi = trim($girdi);
6
7# HTML karakterlerini güvenli hâle getirme
8$girdi = htmlspecialchars($girdi);
9echo $girdi; // &lt;b&gt;Merhaba&lt;/b&gt;
10
11# E-posta gibi verileri filtreleme
12$email = " ornek@mail.com ";
13$email = filter_var($email, FILTER_SANITIZE_EMAIL);
14echo $email; // ornek@mail.com
15?>
htmlspecialchars() XSS saldırılarını önlemede sık kullanılır.

3. ASP’de Girdi Temizleme

ASP (VBScript) kullanarak Replace() veya fonksiyonlarla temizlik yapılabilir:

1' ASP - Girdi temizleme
2Dim girdi, temiz_girdi
3girdi = " <b>Merhaba</b> "
4
5' Baş ve sondaki boşlukları temizleme
6temiz_girdi = Trim(girdi)
7
8' HTML etiketlerini kaldırma (basit örnek)
9temiz_girdi = Replace(temiz_girdi, "<b>", "")
10temiz_girdi = Replace(temiz_girdi, "</b>", "")
11
12Response.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

Kullanıcı girdisi temizleme, web uygulamalarının güvenliğini sağlamak için kritik bir adımdır.




konu hakkında tepkinizi verebilirsiniz