Web uygulamalarında güvenlik, en önemli konulardan biridir. Yüklenen dosyaların kontrol edilmemesi, sisteminize zarar verebilecek dosyaların yüklenmesine olanak tanıyabilir. Bu makalede, PHP kullanarak belirli bir klasördeki dosya uzantılarını tarayan ve belirli uzantılara sahip dosyaları bulduğunda uyarı veren bir sistem oluşturmayı öğreneceğiz.
Bu makalede, uploads
adlı bir klasör ve bu klasörün alt klasörlerini tarayan bir PHP uygulaması geliştireceğiz. Eğer .php uzantılı bir dosya bulunursa, sistem bir uyarı verecek ve bulunan dosyanın yolunu gösterecektir. Bu, yükleme klasöründe istenmeyen PHP dosyalarının varlığını tespit etmek için kullanışlı bir güvenlik önlemidir.
Adım 1: 'uploads'
klasörünün ve alt kalsörlerin içinde uzantı araması yapacağımız fonskiyonu kodlayalım.
<?php
function check_uploads_files($dir){
if (file_exists($dir)) {
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
$phpFiles = [];
foreach($files as $file){
if (pathinfo($file, PATHINFO_EXTENSION) == 'php') {
$phpFiles[] = $file->getPathname();
}
}
return $phpFiles;
} else {
echo "uploads Klasörü bulunamadı! Bu durumda uygulama çalışmaz!";
}
}
$uploadsPath = "uploads";
$check_uploads_files = check_uploads_files($uploadsPath);
?>
Adım 2: Eğer 'uploads'
klasöründe .php uzantılı bir dosya bulunursa uyarı verelim ve .php uzantılı dosyaların hangi dizinde olduğunu belirtelim.
<div class="widget-body">
<?php if (!empty($check_uploads_files)) { ?>
<p><b>Uyarı:</b> 'uploads' klasöründe veya alt klasörlerinde zararlı yazılımlar bulundu!</p>
<p>Bulunan dosyalar:</p>
<?php foreach ($check_uploads_files as $file) { ?>
<ul>
<li><?= $file; ?></li>
</ul>
<?php } ?>
<?php } else { ?>
<p>Her şey yolunda: Kritik bölgelerde zararlı yazılımlara rastlanmadı.</p>
<?php } ?>
</div>
Bu makalede, PHP kullanarak belirli bir klasördeki dosya uzantılarını tarayan ve belirli uzantılara sahip dosyaları bulduğunda uyarı veren bir sistem oluşturmayı öğrendik. Bu sistem, yükleme klasörünüzde istenmeyen PHP dosyalarını tespit etmek için etkili bir yöntemdir.
Artık bu sistemi uygulamanıza entegre edebilir ve dosya güvenliğini artırabilirsiniz. Kodları kendi ihtiyaçlarınıza göre uyarlayabilir ve geliştirilebilir. Eğer bu konuda herhangi bir sorunuz varsa, yorumlar bölümünde paylaşabilirsiniz.
Yorumlar (0)