(alt + n) ile oluşturulan özel karakterleri engellemek (php)

Örnek vermek gerekirse.. Boşluk kontrolünde trim’den geçen alt + 255 ile oluşturulmuş boşluk karakterine bir gün denk geleceksiniz. Bu yüzden yaptığınız kontroller bir işe yaramamaya başlayacak ve boş içerikler gönderecek kötü niyetli insanlar. Bunu önlemek için bu gibi özel karakterleri bir fonksiyon yardımı ile süzmemiz gerekiyor.

function alt_replace($string){
	$search = array(
		chr(0xC2) . chr(0xA0), // c2a0; Alt+255; Alt+0160; Alt+511; Alt+99999999;
		chr(0xC2) . chr(0x90), // c290; Alt+0144
		chr(0xC2) . chr(0x9D), // cd9d; Alt+0157
		chr(0xC2) . chr(0x81), // c281; Alt+0129
		chr(0xC2) . chr(0x8D), // c28d; Alt+0141
		chr(0xC2) . chr(0x8F), // c28f; Alt+0143
		chr(0xC2) . chr(0xAD), // cdad; Alt+0173
		chr(0xAD)
	);
	$string = str_replace($search, '', $string);
	return trim($string);
}

Evet artık post ya da get değerlerini alırken şöyle kullanırsak;

alt_replace($_POST['test']);
alt_replace($_GET['test']);

bu gibi sorunlarla karşılaşmamış oluruz.

kolay gelsin.

Yayınlayan

Tayfun Erbilen

2009’dan beri web işleriyle uğraşan, aynı zamanda amatör müziklede ilgilenen sıradan birisi..

“(alt + n) ile oluşturulan özel karakterleri engellemek (php)” üzerine 4 yorum

  1. Teşekkür Ederim Tayfun Abi, ben de sitelerde en çok bu açığı ararım 😀 😀 mesela quup’ta sohbette boş mesaj gönderebiliyorum ayrıca LOL’de de bütün sohbetlerde ALT + 0160 ile boş mesaj gönderebiliyorum 😀 çok iyi oldu bu konun 😀

  2. selam php yeni sayılırım bu fonksiyonu nasıl kullanabiliriz küçük bir örnek verebilirmisiniz çok yardımcı olmuş olacaksınız.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir