PHP ile CHMOD ayarları
Dosyalarımızı sunucuya yüklediğimiz zaman genelde onların herkes tarafından görülmesinde herhangi bir sakınca yoktur, çünkü zaten herkesin görmesi için hazırlanmıştır bu dosyalar.

Ancak bazen bazı dosyalara erişim kısıtlaması koymak isteyebiliriz. Bunu yapmak herhangi bir ftp programı ile oldukça kolaydır, ancak bazen erişim ayarlarını yazdığımız uygulama sırasında yapmamız gerekebilir ve bunu da php ile yapabiliriz.
PHP ile dosyalara erişim kısıtlaması koymadan önce, erişim kısıtlamasını tasvir eden sayıları anlamamız gerekir.
Chmod sayıları
Chmod sayıları ile daha önce kesin karşılaşmışsınızdır, 3 basamaklı bir sayıdır, 755, 600 ve benzeri gibi. bu sayılar oluşturulurken iki temek unsur göz önüne alınır:
kullanıcı
3 temel kullanıcı seviyesi vardır:
- Dosyanın sahibi
- Dosya sahibinin grubuna dahil kullanıcılar
- Diğer tüm kullanıcılar
Chmod sayılarındaki 3 basamağin her biri de bu kullanıcılara verilen izni açıklar, mesela 755 sayısının 1. basamağı dosya sahibinin erişim seviyesini gösterir, 2. basamağı grubun erişim seviyesi ve son basamağı da diğerlerinin erişim seviyesini gösterir. Yani 755 için: sahip 7, grup 5 ve diğerleri 5 hakkına sahiptir.
Peki bu sayılar ne ifade eder?
sayılar
Chmod ayarlarında 4 temel sayı vardır:
- 0: Hiçbir izin yok
- 1: Çalıştırma izni
- 2: Yazma izni
- 4: okuma izni
Bu 4 temel sayı 4 temel izni ifade eder. Bir dosya için hem okuma hem yazma izni verilecekse, bu iki izne karşılık gelen sayıları toplarız ve ortaya okuma-yazma izni çıkar: 2+4=6:okuma-yazma izni.
Toplamları da hesaba katarsak erişim kısıtlamaları koyan sayılar şöyle olur:
- 0: İzin yok
- 1: Çalıştırma izni
- 2: Yazma izni
- 3: Çalıştırma-yazma izni
- 4: Okuma izni
- 5: Çalıştırma-okuma izni
- 6: Yazma-okuma izni
- 7: Çalıştırma-yazma-okuma izni
sonuç
Sonuç olarak artık 755 veya 644 sayılarının ne anlama geldiğini biliyoruz. Artık PHP ile dosyalara istediğimiz şekilde (abartmadan!) erişim kısıtlaması koyabiliriz.
PHP kodu
PHP dosya erişim sınırlaması yapan fonksiyon chmod() fonksiyonudur ve şu şekilde kullanılır:
chmod("dizin/dosya", 0sayi)
Sayının başına sadece 0 koyuyoruz. İsterseniz birkaç dosyaya erişim kısıtlaması koyalım:
chmod("dizin/dosya.jpg", 0755); //sahip herseyi yapar, digerleri okur ve calistirir chmod("dizin/dosya2.jpg", 0644); //sahip okur ve yazar, diğerleri sadece okur chmod("dizin/dosya3.jpg", 0600); //sahip okur ve yazar, digerlerine izin yok
İşte bu kadar!
- Ya da bu blogda yer alan bütün yazıları içindekiler sayfasında görüntüleyebilirsiniz. Tıklayın!
PHP ile CHMOD ayarları yazısına 4 Yorum yapılmış.
Arama
E-Posta Aboneliği
RSS Aboneliği
En Çok Yorumlanan Yazılar
- Ajax ile dinamik listeleme (23)
- PHP ile sınırsız alt kategori mantığı (23)
- Blogger’da “devamını oku” bağlantısı (21)
- MySQL’de “join” kullanımı (17)
- MySQL’de Transaction ve PHP ile kullanımı (16)
- Kullanıcı dostu url hazırlamak (14)
- PHP’nin (muhtemelen) az bilinen 10 özelliği (12)
- Kullandığınız programlama dili ne kadar popüler? (12)
- Kullanıcı dostu URL oluşturma (2. teknik) (11)
- .htaccess konuları [Giriş] (11)
Etiketler
Son Yorumlar
- Murat: Güzel bir teknik, şu ana kadar sınırsız alt kategori lazım olmadı ama olmayacağı anlamına gelmiyor
- iilyas: Bu kodlar çalışmıyor arkadaşım. Localde olduğu içinmi acaba ?
- iilyas: Arkadaşım çok teşekkür ediyorum. Harika anlatmışsın ajaxla çalışmalara başlamak lazım estetik açısından.....
- Nuri: bende bu şekilde bir çalışma yaptım ancak bir sorunum var ne yaptıysam url den index.php bölümünü kaldıramadım....
- Kemal: Makale için çok teşekkürler, resimleri div tagları ile yapabilirmiyiz. Bu arada imagelara link verirsek daha...
23 / Mart / 2008
çok net açıklamışsınız, yine öğretici bir yazı…
teşekkürler…
[...] Bir diğer önemli konuda .htaccess dosyalarının CHMOD ayarları konusunda. .htaccess dosyalarının erişim hakları en fazla “0644″ olmalı. Ziyaretçinin .htaccess dosyalarını görüntülemesi yine güvenlik riski oluşturur. (CHMOD ile ilgili bilgi almak için daha önceki bu yazıya bakabilirsiniz.) [...]
tskler..
paylaşım için sağ olun.