Kohana: Bu SYSPATH tanımlı olup olmadığını kontrol etmek gerekli midir?

2 Cevap php

Ben CodeIgniter kullanıcı ve ben Kohana bir göz alıyorum. Ben fark ilk şey belgelerinde her pasajı ile başlar olmasıdır:

<?php defined('SYSPATH') or die('No direct script access.');

Ben adres yeniden yazmak için. htaccess kullanarak olacak varsayarak, bu gerçekten gerekli mi? Doğrudan erişim kaçınmak purpouse için. Htaccess için bir alternatif midir? Sadece "derinlemesine savunma" için iyi bir uygulama mı?

2 Cevap

Eğer sistem dosyalarını korumak için bir. Htaccess dosyası kullanıyorsanız, bu gerekli değildir. Kohana olmayan. Htaccess kullanımını desteklemek zorundadır Ancak, biz koyun orada bazı temel güvenlik için çekirdek sistem dosyaları.

Bu sadece (SYSPATH tanımlanır) index.php üzerinden komut erişebilirsiniz emin olmak için kullanılır.

Lütfen komut dosyalarını bir web erişilebilir konumda ise başka bir güvenlik katmanı bulunuyor. Bu kontrol http://example.com/application/classes/controllers/welcome.php gibi sınıflar yürütme insanları durduracak

Gerçekte dosyaları doğru yerlerde başvuran index.php ile webroot dışında olmalı, ama bu her zaman mümkün değildir, bu yüzden o çeki var.

Ben bu dizinleri korumak. Htaccess varsa onu dışarı bırakarak paçayı sanırım, ama bu yüzden de sadece onu tutabilir olması için bir şey maliyet değildir.