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