str_replace() fonksiyonu istediğimiz karakterleri farklı bir karaktere dönüştürmemizi sağlar. Genellikle güvenlik amaçlı zararlı kodların temizlenmesinde kullanılır.
Kullanım Şekli:
str_replace(bul, değiştir, dizi değişken, dizi sayısı)
Bul, değiştir ve dizi değişken içeriği gereklidir, fakat dizi sayısı içeriği gerekli değildir opsiyoneldir.
Örnek:
<?php $veri = "İstanbul güzel bir şehir?"; echo str_replace("güzel","pahalı",$veri); ?>
Ekrandaki çıktı: İstanbul pahalı bir şehir?
Örneğimizde $veri değişkenine İstanbul güzel bir şehir? değerini atadık. Daha sonra echo ile yazdırma işleminde str_replace fonksiyonunu kullanarak güzel ifadesi geçen kısımları pahalı olarak değiştirdik.
Peki biz bu fonksiyonu uygulamalarımızda güvenlik amaçlı nasıl kullanırız?
Örnek:
<?php $veri = "Zararlı kod: select * from"; $veri = str_replace("select","",$veri); $veri = str_replace("*","",$veri); $veri = str_replace("from","",$veri); echo $veri; ?>
Örnekteki select * from ifadesi, SQL veritabanından tablodaki verileri seçmek için kullanılır. Ziyaretçiniz üye giriş formunda kullanıcı adı ve şifre alanlarına bu tarzda tehlikeli kodlar girerek veritabanınıza zarar verebilir.
Bunu önlemek için formdan aldığınız veriyi önce str_replace fonksiyonundan geçirdikten sonra veritabanından sorgulama yaptırırsanız zararlı kodlardan korunmuş olursunuz.