• 03-05-2010, 14:47:59
    #19
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    dosyanin uzantisi .gif olduktan sonra icerisinde milyon tane php kodu yazsa ne farkederki. sonucta sunucu onu php olarak yorumlamaz. gereksiz stres yapiyorsunuz bu konuda.az onceki makalede belirttigi sey calisabilmesi icin zaten htaccess uzantili dosyada upload edebilmesi lazim. nihayetinde sen sadece jpeg uzantisina izin veriyorsan mesela bir sorun teskil etmemis olacak.
    Güvenlik konusu önemlidir. Ve bir kez daha anladım ki sahiden göreceliymiş bu kavram

    Siz nasıl biliyorsanız öyle yapın. Ben bildiğimi ve okuduklarımı yorumladım burada
  • 03-05-2010, 14:51:21
    #20
    Üyeliği durduruldu
    eagle_one adlı üyeden alıntı: mesajı görüntüle
    Güvenlik konusu önemlidir. Ve bir kez daha anladım ki sahiden göreceliymiş bu kavram

    Siz nasıl biliyorsanız öyle yapın. Ben bildiğimi ve okuduklarımı yorumladım burada

    Darılmayın amacımız belli


    Bu yöntemime bir yorum yapabilirmisin
    <?php
    header ("Content-type: klasör/jpeg");
    
    if( isset($_GET['File']))
    $img = $_GET['File'];
    
    if( isset($_GET['percent'])){
    $percent = $_GET['percent'];
    }else{
    $percent=0;
    }
    
    if( isset($_GET['constrain']))
    $constrain = $_GET['constrain'];
    
    if( isset($_GET['w']))
    $w = $_GET['w'];
    
    if( isset($_GET['h']))
    $h = $_GET['h'];
    
    $x = @getimagesize($img);
    $sw = $x[0];
    $sh = $x[1];
    
    if ($percent > 0) {
    	// YÜZDELİK ORANTI HESAPLA
    	$percent = $percent * 0.01;
    	$w = $sw * $percent;
    	$h = $sh * $percent;
    } else {
    	if (isset ($w) AND !isset ($h)) {
    		// sadece genişlik ayarlanmışsa yüksekliği uyarla
    		$h = (100 / ($sw / $w)) * .01;
    		$h = @round ($sh * $h);
    	} elseif (isset ($h) AND !isset ($w)) {
    		// sadece yükseklik ayarlı ise genişliği uyarla
    		$w = (100 / ($sh / $h)) * .01;
    		$w = @round ($sw * $w);
    	} elseif (isset ($h) AND isset ($w) AND isset ($constrain)) {
    		//küçük çıkan görüntü boyutu olsun eğer her iki yükseklik ve genişliği ayarlanır ve $ kısıtlayan de ayarlanır
    		$hx = (100 / ($sw / $w)) * .01;
    		$hx = @round ($sh * $hx);
    
    		$wx = (100 / ($sh / $h)) * .01;
    		$wx = @round ($sw * $wx);
    
    		if ($hx < $h) {
    			$h = (100 / ($sw / $w)) * .01;
    			$h = @round ($sh * $h);
    		} else {
    			$w = (100 / ($sh / $h)) * .01;
    			$w = @round ($sw * $w);
    		}
    	}
    }
    
    $im = @ImageCreateFromJPEG ($img) or
    $im = @ImageCreateFromPNG ($img) or
    $im = @ImageCreateFromGIF ($img) or
    $im = false;
    
    if (!$im) {
    	// PHP'nin ImageCreate işlevleri bozuk olsun
    	// Öyleyse asıl görüntü içeriğini geri yansıtsın
    	readfile ($img);
    } else {
    	// Görüntü oluştur
    	$thumb = @ImageCreateTrueColor ($w, $h);
    	// kaynaktan Kopya görüntü 
    	@ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh);
    	// Görüntü çıkışı
    	$colorCross = imagecolorallocate($thumb, 210, 220,60);
    	
    	//imageString($thumb, 3, 5, $h-15,  "",$colorCross);
    	 
    	@ImageJPEG ($thumb);
    }
    ?>
  • 03-05-2010, 15:00:39
    #21
    Üyeliği durduruldu
    eagle_one adlı üyeden alıntı: mesajı görüntüle
    Güvenlik konusu önemlidir. Ve bir kez daha anladım ki sahiden göreceliymiş bu kavram

    Siz nasıl biliyorsanız öyle yapın. Ben bildiğimi ve okuduklarımı yorumladım burada
    darılma gücenme yok, bildiklerimizi paylaşıyoruz şurada. her yiğidin yoğurt yiyişi farklıdır.

    eagle_one adlı üyeden alıntı: mesajı görüntüle
    Tamam, sen getimagesize ile birlikte dosya uzantısınıda kontrol ediyorsun. Bu yöntemde sdemirkeser'e göre sorun olmaz. ( yanlış anladıysam bu noktada devreye sdemirkese girebilir ) Anladığım kadarıyla kendisi de bu yöntemi kullanıyor.

    Okuduğum makalelerde bu yöntemin de ( dosya uzantısı kontrol etme ) geçilebileceğini gördüm. Bana göre bu yöntem de güvenli değil.
    şimdi benim o makaleden anladığım. dosyanın orijinal adı virus.php.jpg gibi birşey olursa sorun oluşturur diyor. ama ben bunu serverımda uploaded-1.jpg şeklinde bulundurursam bir sorun teşkil edermi? bu arada htaccess dosyası upload etmesine izin vermiyorum tabii ki.
  • 03-05-2010, 15:08:12
    #22
    park; anladığım kadarıyla resimi GD ile yeniden oluşturuyorsunuz. Zaten resim gerçek değilse hata verir ki, bu konuda daha bilgili arkadaş teknik açıklama yapabilir sanırım.

    MC_delta_T; o kısmı tam anlamamakla beraber makalenin bir kısmında Perl, Python, Ruby dillerinden de bahsediyor. Şuan "keşke ingilizcem iyi olsaydı" diye dert yanmakla meşgulüm

    Öyle veya böyle bu yöntem bir şekilde geçilebiliyormuş demek. Benim anladığım bu.
  • 03-05-2010, 15:10:03
    #23
    Üyeliği durduruldu
    eagle_one adlı üyeden alıntı: mesajı görüntüle
    Güvenlik konusu önemlidir. Ve bir kez daha anladım ki sahiden göreceliymiş bu kavram

    Siz nasıl biliyorsanız öyle yapın. Ben bildiğimi ve okuduklarımı yorumladım burada
    yok hocam estagfirulalh. bkz imzam :P rahat bu konuda 10 farkli kitap okuduğum için + onca senelik tecrübeme ragmen. egerki php haricinde her dosya uzantisinin yuklenmesine izin veriyorsaniz o zmaan sıkıntı olabilir.Resim dosyasının içerisine çünkü düz bilgi olarak php kodlari ekleyebiliyorlar.
    zaten bu tarz dosyalarin isimleri bilmemne.gif.php gibidir

    verdiginiz makaledede htacces yuklenerek bu jpeg dosyasinin php ile iliskilendirebileceginden bahsediyor.ama sadece resim yuklenmesine izin veriyorsaniz dosya uzantisindan yola cikmaniz sorun teskil etmez
  • 03-05-2010, 15:11:29
    #24
    Üyeliği durduruldu
    eagle_one adlı üyeden alıntı: mesajı görüntüle
    MC_delta_T; o kısmı tam anlamamakla beraber makalenin bir kısmında Perl, Python, Ruby dillerinden de bahsediyor. Şuan "keşke ingilizcem iyi olsaydı" diye dert yanmakla meşgulüm
    sahsen makalenin tamanini okudum. sunucu acigi teskil edebilecek worm turevi dillerden bahsediyor. zaten ona olanak sagladiktan sonra sunucuda adam cirit atar. o pek php guvenliginden ziyade sunucu guvenligine giriyor
  • 03-05-2010, 15:12:38
    #25
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    yok hocam estagfirulalh. bkz imzam :P rahat bu konuda 10 farkli kitap okuduğum için + onca senelik tecrübeme ragmen. egerki php haricinde her dosya uzantisinin yuklenmesine izin veriyorsaniz o zmaan sıkıntı olabilir.Resim dosyasının içerisine çünkü düz bilgi olarak php kodlari ekleyebiliyorlar.
    zaten bu tarz dosyalarin isimleri bilmemne.gif.php gibidir

    verdiginiz makaledede htacces yuklenerek bu jpeg dosyasinin php ile iliskilendirebileceginden bahsediyor.ama sadece resim yuklenmesine izin veriyorsaniz dosya uzantisindan yola cikmaniz sorun teskil etmez
    Tamam öyleyse. Diyelim ki güvendiğimiz dağlara kar yağdı ve bu yöntem geçildi. Benim uyguladığım yöntemin, yani ikilik açıp karakter kontrol edebilme yöntemi geçilir mi diye düşünüyorum.


    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    sahsen makalenin tamanini okudum. sunucu acigi teskil edebilecek worm turevi dillerden bahsediyor. zaten ona olanak sagladiktan sonra sunucuda adam cirit atar. o pek php guvenliginden ziyade sunucu guvenligine giriyor

    O zaman iş sadece bizde bitmiyor. sheller ile sunucu içinde siteden siteye atlama yöntemini duymuştum. Adam gibi sunucularla çalışmak şart haliyle
  • 03-05-2010, 15:20:55
    #26
    Üyeliği durduruldu
    eagle_one adlı üyeden alıntı: mesajı görüntüle
    O zaman iş sadece bizde bitmiyor. sheller ile sunucu içinde siteden siteye atlama yöntemini duymuştum. Adam gibi sunucularla çalışmak şart haliyle
    komple bir sistem olarak bakmak gerek. siz mesela bir dosya upload etseniz. icinde <?php tagi olmasa. ama kodladiginiz yapi get ten gelen parametrelerden dolayi localdeki herhangi bir dosyayi cagrilmasi saglanabilir.

    siz mesela a.jpg upload ettirmissinizdir. icerisinde hic resim bilgisi yoktur mesela

    echo "deneme";
    vardir.

    ama yapiniz itibari ile kodlamada baska hatalariniz vardir. index.php?Sayfa=/images/a.jpg

    diye cagirinca mesela gidip bu dosyayi include ediyordur klasordeki php ler gibi

    gibi gibi.

    guvenlik komple bir sistemdir yani. sadece dosya uzantisina takilip paranoya olmamak lazim.

    ebook seklinde bulabilirsiniz, PHP.Architect Zend.PHP.5.Certification.Study.Guide ingilizce ama tavsiye ederim. yeterli ve abartisiz olmayan duzeyde sertifika egitimine yonelik tum puf noktalari anlatmis.Zaten İngilizcesi olmayanlar için video eğitim şeklinde örnek uygulamalari ile anlatmistim.
  • 03-05-2010, 15:23:59
    #27
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    komple bir sistem olarak bakmak gerek. siz mesela bir dosya upload etseniz. icinde hic <?php tagi olmasa. ama kodladiginiz yapi get ten gelen parametrelerden dolayi localdeki herhangi bir dosyayi include edebiliyorsa burdada dosyanin cagrilmasi saglanabilir.

    siz mesela a.jpg upload ettirmissinizdir. icerisinde hic resim bilgisi yoktur mesela

    echo "deneme";
    vardir.

    ama yapiniz itibari ile kodlamada baska hatalariniz vardir. index.php?Sayfa=/images/a.jpg

    diye cagirinca mesela gidip bu dosyayi include ediyordur klasordeki php ler gibi

    gibi gibi.

    guvenlik komple bir sistemdir yani. sadece dosya uzantisina takilip paranoya olmamak lazim.

    ebook seklinde bulabilirsiniz, PHP.Architect Zend.PHP.5.Certification.Study.Guide ingilizce ama tavsiye ederim. yeterli ve abartisiz olmayan duzeyde sertifika egitimine yonelik tum puf noktalari anlatmis.Zaten İngilizcesi olmayanlar için video eğitim şeklinde örnek uygulamalari ile anlatmistim.
    Sorum sadece yüklemelerle ilgiliydi Yani get,post kısmı dahil değildi.

    Bahsettiğin dökümanı bir kaç gün önce indirmiştim. Yine zend'in deneme soruları olan bir e-kitap daha indirmiştim.