Php de yasaklı ifadeleri engelleme
Ceviz Viki, özgür ansiklopedi
Bazen sitenizde ziyaretçiden gelen bilgilerde istenmeyen karakterlere izin vermek istemeyebilirsiniz.Malumunuz en kötü ihtimalde bile görüntü kirliliğine yol açmak,sitenin düzenini alt üst etmektedir,bunun yanı sıra,zararlı karakterleride temizlemek gerektiğini hatırlamamız babında,şöyle bir kod yazmanız tavsiye ediyorum.Gerçi bunun birden çok yolu olmasına karşılık ben burda size,php'nin strcspn komutunu göstericem.Buna karşılık eregi ve preg_match komutlarıyla da gelen verilerde zararlı karakterler aranabilir.
Şimdi o zaman aşağıdaki kodu formunuzun verilerini taşıdığı php kod kısmına eklerseniz,sitenizde ki verileri tarayarak,istemediğiniz karakterleri engelleyecektir.Kod şu şekilde.
$filename="aaa*>";
$forbidden="\"\\?*:/@|<>";
if (strlen($filename) != strcspn($filename,$forbidden)) {
echo "isminiz izin verilmeyen karakterler iceriyor";
exit();
}
Evet gordunuz gibi strcspn komutuyla filename kısmında (yani formdan gelen bilgi olabilir) forbidden ile belirlediğimiz yasaklı karakterleri arattırıyoruz.strlen komutu biliyorsunuz karakter sayıyor.eger strcspn ile ayıklanmıs arama bilgimizde karakter sayıları uymuyorsa,(ki zaten bunun boyle olması demek,arama bilgimiz icinde istenmeyen karakterlerin mevcudu demektir. ) ziyaretçiye isminiz izin verilmeyen karakterler içeriyor diye uyarı verdiriyoruz.eğer sayılan karakterler birbirine eşit ise,diğer alttaki komutlarla devam edecektir php işlemlerine.
sağlıcakla
