• 26-10-2012, 23:48:35
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşlar selamlar,

    web sitemde aşağıdaki kodları içeren bir sayfam var. siteden yollacak dosyaları bana mail olarak iletmesini sağlıyor ve sorunsuz bir şekilde çalışıyor. (kullanmak isteyen arkadaşlar kullanabilir )

    Ancak burada bir güvenlik açığı varmı yokmu bilemiyorum. Bu konuda yardımcı olabilirseniz sevinirim.

    <?php
       if($_POST['form_islem'] == 'gonder'){
    
       //Mail adresi ve başlık
       $to="info@xxxxxx.com";
       $subject="Fiyat Teklifi Talebi";
       
       //Değişkenlerim
       $telefon = $_POST["telefon"];
       $ulke = $_POST["ulke"];
       $mesaj = $_POST["message"];
       $target = $_POST["target"];
    
       //İp adresi sorgulama
       $ip = getenv("REMOTE_ADDR");
    
       //Göndericiyi belirleme
       $from = stripslashes($_POST['fromname'])."<".stripslashes($_POST['fromemail']).">";
    
       //Azıcık karıştırma
       $mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";
    
       //Geçici dosyalar oluşturma
       $tmp_name = $_FILES['filename']['tmp_name'];
       $type = $_FILES['filename']['type'];
       $name = $_FILES['filename']['name'];
       $size = $_FILES['filename']['size'];
    
       //Mail içeriği içeriği
       $message = "İsim: $from tarafından | ".
       "Telefon: $telefon | ".
       "İp Adresi: $ip | ".
       "Ülke: $ulke | ".
       "Hedef Dil $target | ".
       "Dosya adı: $name | ".
       "Mesaj: $mesaj | ";
    
       //Yükleme başarılıysa dosya olacak
       if (file_exists($tmp_name)){
    
          // Kontrol yapılması
          if(is_uploaded_file($tmp_name)){
    
             //Açılması
             $file = fopen($tmp_name,'rb');
    
             //Okunması
             $data = fread($file,filesize($tmp_name));
    
             //Kapatılması
             fclose($file);
    
             //Kodlanması
             $data = chunk_split(base64_encode($data));
         }
    
          //Başlık
          $headers = "From: $from\r\n" .
             "MIME-Version: 1.0\r\n" .
             "Content-Type: multipart/mixed;\r\n" .
             " boundary=\"{$mime_boundary}\"";
    
          //Mesajın içeriğinin oluşturulması
          $message = "This is a multi-part message in MIME format.\n\n" .
             "--{$mime_boundary}\n" .
             "Content-Type: text/plain; charset=\"UTF-8\"\n" .
             "Content-Transfer-Encoding: 7bit\n\n" .
             $message . "\r\n";
    
          //Ekle dosya
          $message .= "--{$mime_boundary}\n" .
             "Content-Type: {$type};\n" .
             " name=\"{$name}\"\n" .
             //"Content-Disposition: attachment;\n" .
             //" filename=\"{$fileatt_name}\"\n" .
             "Content-Transfer-Encoding: base64\n\n" .
             $data . "\n\n" .
             "--{$mime_boundary}--\n";
    		 
    		 
    		     if( @mail($to, $subject, $message, $headers) ) {
            $_sonucMesaji = "Mesajınız başarıyla yollandı.";
        } else {
            $_sonucMesaji = "Bir hata oluştu ve mesajınız yollanamadı!";
        }
    }//end if 
    		 }
    		 
    		 ?>
        <input type="hidden" name="form_islem" value="gonder" />
          <input type="submit" name="send" id="send" value="Submit"></td>
        </form>
    buradan sadece pdf doc ve docx uzantılı dosyalara izin verme durumunuda ekleyebilirsek sevinirim ayrıca
  • 26-10-2012, 23:57:47
    #2
    oluşturduğun dosyayı sil , captcha koy
  • 27-10-2012, 00:04:32
    #3
    captcha bişey değil.

    yüklenen dosya nasıl silinir?
  • 27-10-2012, 12:51:41
    #4
    oguzhan306 adlı üyeden alıntı: mesajı görüntüle
    captcha bişey değil.

    yüklenen dosya nasıl silinir?
    unlink($file);
    
    rename($file, $gizledigimvedbyekaydettigimdosya); // $file ismi değişir
  • 28-10-2012, 18:05:53
    #5
    Aynen öyle, yüklenen dosyanın adını değiştirmelisin...
  • 28-10-2012, 18:46:42
    #6
    miscel adlı üyeden alıntı: mesajı görüntüle
    unlink($file);
    
    rename($file, $gizledigimvedbyekaydettigimdosya); // $file ismi değişir

    hocam bunu nereye eklemek lazım?