Zihni Özgürlük

Arama Sonuçları ‘strip_tags’

Güvenli PHP Uygulamaları – Kullanıcı Girdilerinin Filtrelenmesi

Kullanıcı girdilerine güvenilmemeli, betiklerimizin güvenliği için
tüm girdiler filtrelenmelidir.

Örneğin kullanıcıdan yaş bilgisini isteyelim:

Kullanıcıdan beklenen girdi, sayı türünde bir değerdir.
Aşağıdaki kod bu doğrulamayı yapar.

$sonuc = preg_match("/[0-9]{1,3}/",$_POST['yas']);
if($sonuc === true)
echo "Girdi doğrulandı";
else
echo "Girdi sayı değil";

Kullanıcının hayat hikayesini istediğimizi varsayalım, yukardaki gibi bir basit bir doğrulama yapamayız, bunun yerine php nin bize sunduğu temel filtreleme işlevlerinden yararlanabiliriz.
Html tagları sorunlara yol açabilir.
stript_tags() işlevi html etiketlerini yok eder.

$girdi = "<h1>büyük bi başlık</h1><span>span etiketi</span>";
echo strip_tags($girdi);

Yukardaki örneğin çıktısı:

büyük bi başlık span etiketi

Bazı etiketlere izin vermek istiyorsak:

$girdi = "<h1>büyük bi başlık</h1><span>span etiketi</span>";
echo strip_tags($girdi,"<span>");</span>

Yukardaki örneğin çıktısı:

büyük bi başlık <span>span etiketi</span>

htmlentities() işlevi tüm html karakterlerini html entitilerine çevirir.

$girdi = "<h1>büyük bi başlık</h1>";
echo htmlentities($girdi, ENT_QUOTES,'UTF-8');

yukarıdaki örneğin çıktısı:

&lt;h1&gt;büyük bi başlık&lt;h1&gt;