Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » PHP » [PHP] ile upload »


Yanıt
 
LinkBack Seçenekler
Old 23.07.2005   #1 (permalink)
 
dartain's Avatar
 
Üyelik Tarihi: 21.07.2005
Yer: Ant.
Yaş: 19
Mesaj: 68
Görsel: 7
[PHP] ile upload »


Bu sistemi kişisel olarak kullanabilirsin.
Xhandros isimli bi arkadaş yazmış , 3-5 bug vardı , onları kapattık.

PHP Code:
                  <div align=left><font face="Trebuchet MS" color=#00009f size=2><font 
                  color=#00009f><div align=left><font face="Trebuchet MS" color=#00009f size=2pt><B>Dosya yükleyin :</B> <form name="upload_yapalim" enctype="multipart/form-data" action="<?=$PHP_SELF?>" method="post"> 
<input class=input type="file" name="dosyamiz"> 
<br /> 
<input type="submit" class=inputbtn name="upload_edelim" value="Gönder"> 
</form></div>
<body font-face="Trebuchet MS">
<? 
$stil 
="<style> 
TEXTAREA, .input {
        font-FAMILY: Trebuchet MS;
        font-SIZE: 12px;
        COLOR: #000000;
        BACKGROUND-COLOR: #FFFFFF;
        BORDER: 1px ;
        BORDER-COLOR: #DEDEDE;
        BORDER-STYLE: solid ;
}
.inputbtn {
        font-FAMILY: Trebuchet MS;
        font-SIZE: 12px;
        font-WEIGHT: bold;
        CURSOR: hand;
        COLOR: #000000;
        BACKGROUND-COLOR: #FFFFFF;
        BORDER: 1px solid #DEDEDE;
}
BODY A:link { 
font-FACE: Trebuchet MS;COLOR: #00009f; TEXT-DECORATION: 

BODY A:visited { 
COLOR: #00009f; TEXT-DECORATION: underline 

BODY A:active { 
COLOR: #00009f; TEXT-DECORATION: underline 

BODY A:hover { 
COLOR: #000000; TEXT-DECORATION: underline 

</style> 
<META http-equiv=Content-Type content=text/HTML; charset=windows-1254> "

echo 
$stil
//server Değişkenleri 
$adres2 "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']); 
if ( empty(
$upload_edelim)) { 
//Diğer dosyaları listeliyoruz.. 
//Upload edilmiş dosyaları listeleme 
$dizin_adi "./"
$dosya_url "./"
$dizin opendir ($dizin_adi); 
print (
"<b><font  face=\"Trebuchet MS\" color=#00009f>Yüklenen dosyalar : </font></b><br>\n"); 
while ( 
gettype $bilgi =  readdir$dizin ) ) != boolean ) { 
if ( 
is_dir"$dizin_adi/$bilgi" ) ){ 
continue; 

print (
"<A href=\"$dosya_url/$bilgi\"><font face=\"Trebuchet MS\">$bilgi</A>  <br>\n"); 

closedir ($dizin); 
?> 
<? ?> 
<? 
$boyut_siniri 
"750000"
if(
$upload_edelim == "Gönder") { 
if ( 
$dosyamiz_size $boyut_siniri)  die(" $stil; <center><font face=\"Trebuchet MS\" >yüklemek istenilen dosyanın boyutu büyük.</center>"); 
if ( 
$dosyamiz_name == "" ) die(" $stil; <center><font face=\"Trebuchet MS\" >Dosya ismi yok");       
if (
file_exists($dosyamiz_name)) die(" $stil; <center>Dosya ismini değiştirmelisiniz.Bu dosya isminden zaten mevcut.</center>"); 
copy $dosyamiz$dosyamiz_name ); //Upload işlemi 
echo("$stil <center><i><font face=\"Trebuchet MS\" >Dosya başarıyla yüklendi.</i><br> 
<font face=\"Trebuchet MS\" color=#00009f>Dosya adresi : <a href='$adres2/$dosyamiz_name'>$adres2/$dosyamiz_name</a><BR> » Dosya Büyüklüğü : $dosyamiz_size Byte. | » Dosya Tipi : $dosyamiz_type </center>"
); 

echo 
"<center><font face=\"Trebuchet MS\" color=#00009f></font></b></font>"//Footer Bilgisi 
?>  </STRONG>
Sayfa başına aşağıdaki kodları ekleyerek , sizden başkasının girmesini engellemeniz mümkün.

PHP Code:
<?

  
if ((!$PHP_AUTH_USER and !$PHP_AUTH_PW) or ($PHP_AUTH_PW != "k.adi" and $PHP_AUTH_USER != "sifre" )) {

      
header("WWW-Authenticate: Basic realm=\"Yonetim Paneli\"");

      
header("HTTP/1.0 401 Unauthorized");

      exit(
"<h1>Giris engellendi.</h1>\n");  

} else { }

?>

-------------------

Aşağıdaki sistem ise sadece resimleri yüklemeyi sağlar.

not :
if ( $dosyamiz_type != "image/pjpeg" ) die(" $stil <center>Resim yüklenmedi.Bu bölüme sadece Jpeg uzantıdaki dosyalar yüklenebilir.</center>");
bölümünden "or" fonksiyonu ile listeyi genişletebilirsiniz.

PHP Code:
</HEAD>
<BODY vLink=#00009f link=#00009f bgColor=#d0d0d0 >
                  <font face="Trebuchet MS" color=#00009f size=2><font 
                  color=#00009f><div align=left><font face="Trebuchet MS" color=#00009f size=2pt><B>Resim yükleyin :</B> <form name="upload_yapalim" enctype="multipart/form-data" action="<?=$PHP_SELF?>" method="post"> 
<input class=input type="file" name="dosyamiz"> 
<br /> 
<input type="submit" class=inputbtn name="upload_edelim" value="Gönder"> 
</form></div>
<body font-face="Trebuchet MS">
<? 
$stil 
="<style> 
TEXTAREA, .input {
        font-FAMILY: Trebuchet MS;
        font-SIZE: 12px;
        COLOR: #000000;
        BACKGROUND-COLOR: #FFFFFF;
        BORDER: 1px ;
        BORDER-COLOR: #DEDEDE;
        BORDER-STYLE: solid ;
}
.inputbtn {
        font-FAMILY: Trebuchet MS;
        font-SIZE: 12px;
        font-WEIGHT: bold;
        CURSOR: hand;
        COLOR: #000000;
        BACKGROUND-COLOR: #FFFFFF;
        BORDER: 1px solid #DEDEDE;
}
BODY A:link { 
font-FACE: Trebuchet MS;COLOR: #00009f; TEXT-DECORATION: 

BODY A:visited { 
COLOR: #00009f; TEXT-DECORATION: underline 

BODY A:active { 
COLOR: #00009f; TEXT-DECORATION: underline 

BODY A:hover { 
COLOR: #000000; TEXT-DECORATION: underline 

</style> 
<META http-equiv=Content-Type content=text/HTML; charset=windows-1254> "

echo 
$stil
//server Değişkenleri 
$adres2 "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']); 
if ( empty(
$upload_edelim)) { 
//Diğer dosyaları listeliyoruz.. 
//Upload edilmiş dosyaları listeleme 
$dizin_adi "./"
$dosya_url "./"
$dizin opendir ($dizin_adi); 
print (
"<b><font  face=\"Trebuchet MS\" color=#00009f>Yüklenen resimler : </font></b><br>\n"); 
while ( 
gettype $bilgi =  readdir$dizin ) ) != boolean ) { 
if ( 
is_dir"$dizin_adi/$bilgi" ) ){ 
continue; 

print (
"<A href=\"$dosya_url/$bilgi\"><font face=\"Trebuchet MS\">$bilgi</A>  <br>\n"); 

closedir ($dizin); 
?> 
<? ?> 
<? 
//Başlık Bilgisi 
$title="shareturk"//Sayfa başlığı (title bilgisi) 
echo("<title>$title</title>"); 
$boyut_siniri "750000"
if(
$upload_edelim == "Gönder") { 
//Dosya Kontrolü ( Listpath & FSO script kodlarına karşı koruma ) 
//Dosya Boyutu Büyüklüğü Kontrolü 
if ( $dosyamiz_size $boyut_siniri)  die(" $stil; <center><font face=\"Trebuchet MS\" >yüklemek istenilen dosyanın boyutu büyük.</center>"); 
//Dosya Adını Kontrol Edelim 
if ( $dosyamiz_name == "" ) die(" $stil; <center><font face=\"Trebuchet MS\" >Dosya ismi yok");   
if ( 
$dosyamiz_type != "image/pjpeg" ) die(" $stil <center>Resim yüklenmedi.Bu bölüme sadece Jpeg uzantıdaki dosyalar yüklenebilir.</center>");        
if (
file_exists($dosyamiz_name)) die(" $stil <center>Bu isme sahip bir dosya bulunuyor.Dosya ismini değiştirip tekrar deneyin.</center>"); 
copy $dosyamiz$dosyamiz_name ); //Upload işlemi 
echo("$stil <font face=\"Trebuchet MS\" >» Resim yüklendi.<br> 
<font face=\"Trebuchet MS\" color=#00009f>
<STYLE>
<!--
div.Section1
    {page:Section1;}
-->
</STYLE>

<script language=JavaScript>
<!-- Begin
function copyit(theField) {
var tempval=eval(\"document.\"+theField)
tempval.focus()
tempval.select()
therange=tempval.createTextRange()
therange.execCommand(\"Copy\")
}
//  End -->
</script>
<BODY>
<P><TBODY>
<form name=it><TR><TD class=kodcell width=\"100%\">
<INPUT class=input name=bodytxt style=\"HEIGHT: 23px; WIDTH: 291px\" value=$adres2/$dosyamiz_name cols=\"73\" rows=\"10\">&nbsp;<INPUT name=cpy onclick=\"copyit('it.bodytxt')\" type=button class=inputbtn value=kopyala></P></form></TD></TR></TBODY></TABLE>
<P></P></BODY></HTML>» Resmin adresi : <a href='$adres2/$dosyamiz_name'>$adres2/$dosyamiz_name</a><BR> » Resim Büyüklüğü : $dosyamiz_size Byte. <BR>» Dosya Tipi : $dosyamiz_type "
); 
//Bitti ! 

echo 
"<center><font face=\"Trebuchet MS\" color=#00009f></font></b></font>"//Footer Bilgisi 
?>

------------------------------------------


Bu da scriptin açıklarının kapatılmamış hali. x.zip varsa , yine x.zip yüklenebiliyor.

PHP Code:
<?
//Uploadcı & Dosya Listeleyici Osman v1.0 :)
//Coded By XhanDros a.k.a Yunus Emre Yılmaz.
//MSN : codelgen@yahoo.com
$stil ="<style>
body, input,{
border: 1px solid silver;
color : 306090;
background-color:#ffffff;
font-family: verdana;
font-size: 8pt
}
BODY A:link {
COLOR: #444444; TEXT-DECORATION: underline
}
BODY A:visited {
COLOR: #444444; TEXT-DECORATION: underline
}
BODY A:active {
COLOR: #444444; TEXT-DECORATION: underline
}
BODY A:hover {
COLOR: #688ca3; TEXT-DECORATION: underline
}
</style>
<META http-equiv=Content-Type content=text/HTML; charset=windows-1254>
"
;
echo 
$stil;
//server Değişkenleri
$adres2 "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
if ( empty(
$upload_edelim)) {
//Diğer dosyaları listeliyoruz..
//Upload edilmiş dosyaları listeleme
$dizin_adi "./";
$dosya_url "./";
$dizin opendir ($dizin_adi);
print (
"<b><font color=red>Bu dizindeki Dosyalar:</font></b><br>\n");
while ( 
gettype $bilgi =  readdir$dizin ) ) != boolean ) {
if ( 
is_dir"$dizin_adi/$bilgi" ) ){
continue;
}
print (
"<A href=\"$dosya_url/$bilgi\">$bilgi</A>  <br>\n");
}
closedir ($dizin);
?>
<br />
<div align=left>Ne duruyorsun sende dosya upload etsene : )<form name="upload_yapalim" enctype="multipart/form-data" action="<?=$PHP_SELF?>" method="post">
<input type="file" name="dosyamiz">
<br />
<input type="submit" name="upload_edelim" value="Gönder">
</form></div><? ?>
<?
//Başlık Bilgisi
$title="Uploadcı & Dizin Listeleyici  Osman v1.0 | Coded By XhanDros"//Sayfa başlığı (title bilgisi)
echo("<title>$title</title>");
//Boyut sınırı ( En fazla kaç byte upload edilebilecek ?
$boyut_siniri "750000";
//Upload edecekmiyiz yoksa kullanıcı birtakım zekilikler mi yapmaya çalışıyor ?
if($upload_edelim == "Gönder") {
//Dosya Kontrolü ( Listpath & FSO script kodlarına karşı koruma )
if ( $dosyamiz_type == "text/plain" )   die("$stil <center>Özür dileriz..Ama <u>script</u> dosyaları yüklenemez.</center>") ;
//Dosya Boyutu Büyüklüğü Kontrolü
if ( $dosyamiz_size $boyut_siniri)  die(" $stil; <center>Upload etmek istediğiniz dosya çok <u>büyük</u>.</center>");
//Dosya Adını Kontrol Edelim
if ( $dosyamiz_name == "" ) die(" $stil; <center>Dosya <u>adı</u> yok !");      
copy $dosyamiz$dosyamiz_name ); //Upload işlemi
echo("$stil <center><i>Dosya başarıyla upload edildi.</i><br>
<b>Adres : <a href='$adres2/$dosyamiz_name'>$dosyamiz_name</a> | Büyüklüğü : $dosyamiz_size Byte. | Tip : $dosyamiz_type </center>"
);
//Bitti !
}
echo 
"<center><font face=707070>[Powered By Uploadcı & Dizinci <b>Osman</b> v1.0 -> Coded By <b><font color=red>XhanDros</font></b></font>]"//Footer Bilgisi
?>
dartain şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 23.07.2005   #2 (permalink)
 
hayalet's Avatar
 
Üyelik Tarihi: 07.10.2002
Yer: İstanbul
Yaş: 26
Mesaj: 986
Re: [PHP] ile upload »

program "register_globals" ayarı kapatıldığında çalışmaz. Bu nedenle superglobal değişkenler kullanılmalıdır. Programlarınızda $_GET, $_POST, $_FILES, ... değişkenleri kullanmanız, oluşabilecek birçok açığı kapatacaktır..

http://tr.php.net/variables.predefined

Yine de paylaşım için teşekkürler..
hayalet şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

upload , php



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.3 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 09:53.