Tarih11-11-2007
PHP Kategorisi Altında - Yazan admin

Php’ye yeni başlayanların en büyük hatalarından birisinin bunları(GET ve POST) hiç bir filtreden geçirmeyerek sayfaya include/query/echo v.b şeyler yapmasıdır.

Önceden ben sadece mysql_real_escape_string den geçirip sayfaya yüklüyordum ve güvenli oldugunu düşündüm ama yanılmışdım :) Geçen günlerde bir heykır sayfama java-script yedirtmeyi başardı ve bende hemen bu açığa karşın bir önlem almak için bir araştırma yapdım.

Aşağıdaki fonksiyon bu tür güvenlik açıklarını kapatmaya yeterlidir.

[php]function temizledegel($string)
{
if(get_magic_quotes_gpc())
{
$string = stripslashes($string);
}
elseif(!get_magic_quotes_gpc())
{
$string = addslashes($string);
}
$string = @mysql_real_escape_string($string);
return $string;
}[/php]

Kullanımı:[php] temizledegel($_GET[name]);[/php] gibi…

    Read More   

Yorumlar

metin edit 25 Kasım, 2007 at 12:51 #

[…] $string = addslashes($string); } $string = @mysql_real_escape_string($string); return $string; } POST ve GET Güvenliğini sağlamak - muzaffer eygün __________________ […]


Acaba Yanl 30 Kasım, 2007 at 17:08 #

[…] yap. Bu arada


serkan 12 Ocak, 2008 at 20:38 #

teşekürler…


Misafir 17 Haziran, 2008 at 21:01 #

yalnız hala verdiğin fonksiyonda bir problem var.

şimdi get te, ” işareti varsa, ve magic quotes açıksa, bunu \” yapıyor, ardından filtreliyor. burda problem yok. ancak

get te ” işareti varsa, ve magic quotes kapalı ise, addslashes ile \” haline getiriyorsun, ardından real escapse fonksiyonuyla \\\” haline getiriyorsun. yine çift filtrelenmiş oluyor


wow gold 20 Ekim, 2008 at 17:33 #

I know some wow gold in wow.


Yorum Yaz
İsminiz:
Email:
Website:
Yorumunuz: