Bugünkü PHP Yazımda ereg_replace(); ve eregi_replace(); fonksiyonlarını anlatmaya çalışaçağım.
ereg_replace gelen değieri önceden belirlediğimiz bir değerle değiştirmemize yardımcı olur.
Örneğin formlardan gelen zararlı html kodları ,javascript kodlarını vs engellemek için bu fonksiyonlar kullanılır
örn;
<'?php
$gelen_msj ="<'script>Location.href="http://google.com";<'/script>";
$yeni_msj = ereg_replace("<","geçersiz karakter kullandınız","$gelen_msj");
$yeni_msj1 = ereg_replace(">","geçersiz karakter kullandınız","$yeni_msj");
?'>
gelen_msj değişkeninde gelen karakterler eğer sayfada çalıştırılırsa siteyi google.com sayfasına yönlendirir.Yani siteniz başka bir sayfaya yönlenir.
Aşağıda yeni_msj değişkeninde zararlı kodları filtreledik.
< gibi bir karakter girdiğiniz geçersiz karakter kullandınız yazısı sayfada görünecektir.
yine yeni_msj1 değişkenindede > karakterini filtreledik.
kullanımı şöyledir;
ereg_replace ("filtrelenecek karakter","filtrelenecek karakterin yerine gelecek yazı","filtrelenecek karakterin yer aldığı değişken");
eregi_replace(); fonksiyonunun ereg_replace(); fonksiyonun dan tek farkı büyük-küçük harf ayrımı yapmamamsıdır.
Günlüğümden alıntı : Kul Mehmet Alp - Bilişim Divanesi: PHP | ereg_replace(); , eregi_replace();
ereg_replace() , eregi_replace()
3
●793
- 24-07-2008, 09:21:50OnurSQL'in dediği gibi eğer aranan string'i tam olarak biliyorsak regular expression kullanmanın hiç bir avantajı yok. Hatta daha önceden 10k döngü ile hız testi yapmıştım ve str_replace türü string fonksiyonları regular expression kullanalara göre çok daha hızlı çıkmıştır