Skip to content

24. Uygulama alıştırması – sürüm 13

Sürüm 13 çok az değişiklik getiriyor: uygulama dosyalarına erişimi güvenli hale getiriyor.

Sürüm 12'de, URL adresinden [http://localhost/php7/scripts-web/impots/version-12/config.json] sayfasını isteyebiliriz. Bunun üzerine şu sayfa görüntülenir (Firefox):

Image

Ancak bu [config.json] dosyası, uygulamayı kullanmaya yetkili kullanıcıların kimlik bilgileri gibi hassas bilgiler içerir. Bu dosya, kullanıcılar tarafından erişilebilir olmamalıdır. Aynısı, dışarıdan erişilebilir olması gereken [main.php, index.php, Views/logo.jpg] dosyaları hariç, uygulamanın tüm dosyaları için de geçerlidir. Zira görünümlerin, uygulamanın logosuna HTTP erişimi olması gerekir. Sürüm 13, bu soruna basit bir çözüm getiriyor.

NetBeans’te, [version-12] klasörünü [version-13] klasörüne kopyalayıp yapıştırıyoruz:

Image

  • uygulamanın kök dizinindeki [1] klasörüne, yalnızca [index.php, main.php] komut dosyalarını bırakıyoruz;
  • [2]'te, yapılandırma dosyaları [Config] klasörüne yerleştirilir;
  • [3]'te, [logo.jpg] görüntüsü [Resources] klasörüne yerleştirilir;

Burada kullanılan HTTP sunucusu bir Apache sunucusudur. Bu sunucu, bir [.htaccess] dosyası aracılığıyla bir klasöre erişimi kontrol etmeyi sağlar. URL aracılığıyla doğrudan erişimi engellemek istediğimiz tüm klasörlerde, aşağıdaki [.htaccess] dosyasını oluştururuz:

Image

Bu iki satır, klasöre herkesin erişimini engeller.

Bu dosyayı, kök klasör ve [Resources] klasörü hariç, uygulamanın tüm klasörlerine yerleştiriyoruz. Sonuç olarak, dışarıdan erişilebilen yalnızca üç dosya kalıyor: [index.php, main.php, Resources/logo.jpg].

Birkaç deneme yapalım:

Image

Image

Image

Image

Image

Kodda bazı değişiklikler yapılmalıdır:

[Config/config.json] dosyasında:

Image

[main.php] dosyasında:

Image

[Views/v-bandeau.php] dosyasında:

Image