Arkadaşlar aşağıda verdiğim scripte kullanıcılara açık olan kısımda dosya format kontrolü mevcut görüldüğü üzere.
Yalnız bu .htacsess ile güvenliği alma olayı nasıldır o konuda yadımcı olabilirmisiniz ?
<?php
include("config.php");
include("includes/fonksiyonlar.php");
?>
<style type="text/css">
input.dsaciklama {width: 440px; padding:4px; font-size: 12px; background: #dcdcdc; color: #4d4d4d}
input.dsaciklama2 {border: 1px solid #ccc; padding: 3px; width: 622px; border-radius: 3px}
input.gonder {width: 432px; background: #dcdcdc; padding: 3px 7px; color: #000; cursor:pointer; font-size: 13px}
input.gonder:hover {background: #ccc;}
input.bt {background: #ccc; border: 1px solid #ccc; padding: 3px 7px; border-radius: 3px; color: #000; cursor: pointer}
input.bt:hover {background: #999;}
</style>
<div class="teklifver">
<div class="teklifverbaslikform">
<form name="upload" action="upload3.php" enctype="multipart/form-data" method="post">
<p class="teklifverbaslik">Desteklenen Dosya Biçimi .jpg, .png</p>
<input class="gonder" type="file" name="dosya" /></br></br>
<input class="bt" type="submit" value="Gönder" /></br>
</form>
<?php
if($_GET[req] == "delete")
{
$sorgu = mysql_query("SELECT * FROM upload3 WHERE id='$_GET[id]'");
$goster = mysql_fetch_array($sorgu);
unlink($goster[url]);
mysql_query("DELETE FROM upload3 WHERE id='$_GET[id]'");
}
$buay = date("Y-m");
$konum = "yonetim/uploads/";
if(!is_dir($konum.$buay)){
mkdir($konum.$buay);
chmod($konum.$buay, 0777);
}
$gecerli = array("jpg","png");
$uzanti = end(explode(".", $_FILES["dosya"]["name"]));
if($_FILES["dosya"]["name"]){
if($_FILES["dosya"]["size"] < 3000000){
if(in_array($uzanti, $gecerli)){
if($_FILES["dosya"]["error"] > 0){
$mesaj = $_FILES["dosya"]["error"];
}else{
$yeni = substr(md5(microtime()),0,16);
move_uploaded_file($_FILES["dosya"]["tmp_name"], $konum.$buay."/".$yeni.".".$uzanti);
$isim = $_FILES["dosya"]["name"];
$url = $konum.$buay."/".$yeni.".".$uzanti;
mysql_query("INSERT INTO upload3 (isim, url, aciklama, link) VALUES ('$isim', '$url', '$_POST[aciklama]', '$_POST[link]')") or die("Hata : ".mysql_error());
echo "<span style='color: #4d4d4d; font-weight: bold'>Dosya başarıyla yüklendi</span></br></br>";
echo "<center><b>Link (Altta verilen linki kopyalayın ve ilgili alana yapıştırın.)</b><br> <label>http://".$_SERVER['HTTP_HOST']."/$konum$buay/$yeni.$uzanti</label></center>";
}
}else{
echo "<span style='color: #4d4d4d; font-weight: bold'>Geçersiz dosya! Lütfen belirtilen dosya türü yükleyin.</span>";
}
}else{
echo "<span style='color: #4d4d4d; font-weight: bold'>Dosya boyutu fazla büyük!</span>";
}
}
?>
</div>
</div>
777 olan klasörün içine .htaccess oluşturup şu satırları ekle.
Alıntı
php_flag engine off
<Files ~ "\.(php*|s?p?html|cgi|pl)$">
deny from all
</Files>
klasöre yüklenmeyecek uzantıları artırabilirsin.