Dosya Güvenliği Temelleri: Python, PHP ve ASP ile Uygulamalı Rehber
Dosya güvenliği, özellikle kullanıcı verileri ve kritik bilgilerin saklandığı dosyaların korunması açısından oldukça önemlidir. Web uygulamaları, mobil uygulamalar ve sunucu tarafı yazılımlarında dosya güvenliği sağlanmadığı takdirde, ciddi güvenlik açıkları oluşabilir.
Dosya Güvenliği Nedir?
Dosya güvenliği, dosyaların yetkisiz erişimlerden korunmasını, veri bütünlüğünün sağlanmasını, gizliliğin korunmasını ve dosyaların bütünlüklerinin izlenmesini amaçlar. Bu, uygulama geliştirme sürecinde kritik bir unsurdur. Dosya güvenliği, doğru erişim izinleri, şifreleme, güvenli yükleme ve düzenli denetimler gerektirir.
Python ile Dosya Güvenliği
Python’da dosya güvenliğini sağlamak için dosya erişim izinlerini, şifrelemeyi ve güvenli dosya işlemlerini doğru şekilde kullanmak gerekir.
1. Dosya Erişim İzinleri
Dosyalarınıza sadece yetkili kullanıcıların erişmesini sağlamak için doğru erişim izinlerini ayarlamak önemlidir. Python’da dosya erişim izinlerini ayarlamak için os.chmod() fonksiyonu kullanılabilir.
1import os23dosya = "gizli_dosya.txt"45# Dosya izni ayarlama: Sadece sahibi okuyabilir ve yazabilir6os.chmod(dosya, 0o600) # Sadece dosya sahibi okuma ve yazma iznine sahip2. Dosya Şifreleme
Dosya içeriğini şifrelemek, dosyanın sadece doğru anahtara sahip kişiler tarafından erişilebilir olmasını sağlar. Python'da cryptography gibi kütüphanelerle dosya şifreleme yapılabilir.
1from cryptography.fernet import Fernet23# Anahtar oluşturma4anahtar = Fernet.generate_key()5fernet = Fernet(anahtar)67# Dosyayı şifreleme8with open("gizli_dosya.txt", "rb") as dosya:9dosya_verisi = dosya.read()1011sifreli_veri = fernet.encrypt(dosya_verisi)1213with open("gizli_dosya_sifreli.txt", "wb") as sifreli_dosya:14sifreli_dosya.write(sifreli_veri)PHP ile Dosya Güvenliği
PHP’de dosya güvenliği sağlamak için dosya izinlerini doğru şekilde ayarlamak, dosya yükleme sırasında güvenliği artırmak ve verileri şifrelemek gibi yöntemler kullanılabilir.
1. Dosya Yükleme Güvenliği
Web uygulamalarında dosya yüklemeleri sıkça yapılır, ancak güvenlik riskleri oluşturabilir. Yüklenen dosyaların türünü ve boyutunu kontrol etmek önemlidir.
1<?php2if ($_SERVER['REQUEST_METHOD'] == 'POST') {3if (isset($_FILES['dosya'])) {4$dosya_adı = $_FILES['dosya']['name'];5$dosya_geçici = $_FILES['dosya']['tmp_name'];6$dosya_boyut = $_FILES['dosya']['size'];7$dosya_tipi = $_FILES['dosya']['type'];89// Dosya türünü kontrol et10$izinli_turler = ['image/jpeg', 'image/png', 'application/pdf'];11if (!in_array($dosya_tipi, $izinli_turler)) {12die("Yalnızca JPEG, PNG veya PDF dosyaları yüklenebilir.");13}1415// Dosya boyutunu kontrol et16if ($dosya_boyut > 5 * 1024 * 1024) { // 5 MB17die("Dosya boyutu 5 MB'yi aşamaz.");18}1920// Dosya yükle21$hedef_dizin = 'uploads/';22move_uploaded_file($dosya_geçici, $hedef_dizin . basename($dosya_adı));23echo "Dosya başarıyla yüklendi!";24}25}26?>2. Dosya Erişim İzinleri
PHP’de dosya erişim izinlerini ayarlamak için chmod() fonksiyonu kullanılabilir. Bu, dosyanın yalnızca yetkili kullanıcılar tarafından okunabilmesini sağlar.
1<?php $dosya = "gizli_dosya.txt"; chmod($dosya, 0600); // Sadece dosya sahibi okuma ve yazma iznine sahip ?>ASP (Classic ASP) ile Dosya Güvenliği
Classic ASP’de dosya güvenliğini sağlamak için dosya erişim izinleri, güvenli dosya yükleme ve şifreleme tekniklerini kullanabilirsiniz.
1. Dosya Yükleme Güvenliği
ASP’de dosya yükleme işlemi sırasında dosya türünü ve boyutunu kontrol etmek önemlidir.
1<%2If Request.TotalBytes > 0 Then3Dim dosya, dosyaAdi, dosyaTipi, dosyaBoyutu4dosyaAdi = Request.Files("dosya").FileName5dosyaTipi = Request.Files("dosya").Type6dosyaBoyutu = Request.Files("dosya").Size78' Dosya türü kontrolü9If dosyaTipi <> "image/jpeg" And dosyaTipi <> "image/png" Then10Response.Write "Yalnızca JPEG veya PNG dosyaları yüklenebilir."11Exit Sub12End If1314' Dosya boyutu kontrolü15If dosyaBoyutu > 5 * 1024 * 1024 Then16Response.Write "Dosya boyutu 5MB'dan büyük olamaz."17Exit Sub18End If1920' Dosyayı yükle21dosya = Server.MapPath("uploads/") & dosyaAdi22Request.Files("dosya").SaveAs dosya2324Response.Write "Dosya başarıyla yüklendi."25End If26%>
0 yorum