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…

(5) Yorumlar    Devamı   
Tarih11-11-2007
PHP Kategorisi Altında - Yazan admin

Biraz merak birazda kendimi GD konusunda geliştirmek amacıylan yapdıgım “resim boyutunu orantılı küçültmek” şeysi…

[php] ####### GET İLE GELEN DOSYALAR ########
$dosya=$_GET[resim];
$istenilen_genislik=$_GET[genislik];
$istenilen_yukseklik=$_GET[yukseklik];
$istenilen_yukseklik2=$istenilen_yukseklik;
#######DOSYAMIZIN UZANTISI BULALIM##########
$resim_bol=explode(’.',$dosya);
$uzanti_al= count($resim_bol) -1;
$uzanti=”$resim_bol[$uzanti_al]”;
#######SAYFA YAPISINI BELİREDİK#########
if ($uzanti == ‘jpg’) {
$uzanti_gd = imagecreatefromjpeg($dosya);
header(”Content-type: image/jpeg”);
} else if ($uzanti == ‘gif’) {
$uzanti_gd = imagecreatefromgif($dosya);
header(”Content-type: image/gif”);
} else if ($uzanti == ‘png’) {
$uzanti_gd = imagecreatefrompng($dosya);
header(”Content-type: image/png”);
}
#########RESMİN BOYUTLARINI ALIYORUZ#########
$dosya_buyuklugu=getimagesize($dosya);
$gercek_genislik=$dosya_buyuklugu[0];
$gercek_yukseklik=$dosya_buyuklugu[1];
########ORANTILI YAPMAK İÇİN MATEMATİKSEL FOKSİYONLAR (yüzdelik hesabı ile) ############
if ($gercek_genislik >=$istenilen_genislik) {
$ufaltma_orani = ($istenilen_genislik*100) / $gercek_genislik;
$istenilen_yukseklik=($gercek_yukseklik*$ufaltma_orani) / 100;
}
if ($istenilen_yukseklik >=$istenilen_yukseklik2) {
$ufaltma_orani2 = ($istenilen_yukseklik2*100) / $istenilen_yukseklik;
$istenilen_yukseklik=$istenile_yukseklik2;
$istenilen_genislik=($gercek_genislik*$ufaltma_orani2) / 100;
}

######### GD DEVREDE #########
$yeni = imagecreatetruecolor($istenilen_genislik, $istenilen_yukseklik);
imagecopyresampled($yeni, $uzanti_gd, 0, 0, 0, 0, $istenilen_genislik, $istenilen_yukseklik, $gercek_genislik, $gercek_yukseklik);
##############################################
if ($uzanti == ‘jpg’) {
$uzanti_gd = imagejpeg($yeni);
} else if ($uzanti == ‘gif’) {
$uzanti_gd = imagegif($yeni);
} else if ($uzanti == ‘png’) {
$uzanti_gd = imagepng($yeni); }
imagedestroy($yeni);
##############################################
?>[/php]

Kullanım Şekli : ufalt.php?resim=resmininiz.jpg&genislik=100&yukseklik=100

(1) Yorum    Devamı   
Tarih11-11-2007
PHP Kategorisi Altında - Yazan admin

Bir phpci olarak bu tarz kodlamalara sürekli ihtiyaç duydugumdan buraya koymayı düşündüm.Bundan sonra bu tarz scriptleri burda yayınlayacağım,hem başkaları faydalansın hemde aradıgımda bulayım(kendi bilgisayarım çöplük gibi :) )….

[php]function trtoen($kelime) {
$kelime= str_replace (array(” “,”ş”,”İ”,”Ğ”,”ğ”,”Ü”,”ü”,”ı”,”Ö”,”ö”,”Ç”,”ç”),array(”+”,”s”,”I”,”G”,”g”,”U”,”u”,”i”,”O”,”o”,”C”,”c”),$kelime);
return $kelime;
}[/php]

(2) Yorumlar    Devamı