2010-02-13 15 views
5

मैं कोडइग्निटर उपयोगकर्ता हूं और मैं कोहाना को देख रहा हूं। ,कोहाना: क्या यह जांचना आवश्यक है कि SYSPATH परिभाषित किया गया है या नहीं?

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

मैं पता पुनः लेखन के लिए .htaccess का उपयोग किया जाएगा यह सोचते हैं यह वास्तव में आवश्यक है: पहली बात मैंने देखा है कि दस्तावेज में हर टुकड़ा के साथ शुरू होता है? क्या यह सीधी पहुंच से बचने के purpouse के लिए htaccess का विकल्प है? क्या यह "गहराई में रक्षा" के लिए सिर्फ एक अच्छा अभ्यास है?

+0

कोडइग्निटर यह भी करता है: अगर (परिभाषित ('बेसपैट')) बाहर निकलें ('कोई प्रत्यक्ष स्क्रिप्ट एक्सेस अनुमति नहीं है'); – shadowhand

उत्तर

10

यदि आप अपनी सिस्टम फ़ाइलों की सुरक्षा के लिए .htaccess फ़ाइल का उपयोग कर रहे हैं, तो यह आवश्यक नहीं है। हालांकि, चूंकि कोहाना को गैर। Htaccess उपयोग का समर्थन करना है, इसलिए हम वहां कुछ बुनियादी सुरक्षा के लिए कोर सिस्टम फ़ाइलों में रख देते हैं।

+2

+1 कोहाना फ्रेमवर्क डेवलपर स्वयं को संबोधित करने के लिए अच्छा है। – Sampson

5

इसका उपयोग यह सुनिश्चित करने के लिए किया जाता है कि आप केवल index.php (जहां SYSPATH परिभाषित किया गया है) के माध्यम से स्क्रिप्ट तक पहुंच सकते हैं।

यदि आपकी स्क्रिप्ट फ़ाइलें वेब पहुंच योग्य स्थान पर हैं तो यह सुरक्षा की एक और परत है। यह चेक लोगों को http://example.com/application/classes/controllers/welcome.php

वास्तविकता में फ़ाइलों को सही जगहों का संदर्भ देने वाले index.php के साथ वेबरूट के बाहर होना चाहिए, लेकिन यह हर समय संभव नहीं है, इसलिए उनके पास यह जांच है।

मुझे लगता है कि अगर आप उन निर्देशिकाओं की रक्षा कर रहे हैं, तो आप इसे छोड़ने से दूर हो सकते हैं, लेकिन इसका कोई खर्च नहीं होता है ताकि आप इसे भी रख सकें।

+0

मुझे पता है कि यह –

+1

क्या करता है मैंने आपके उत्तर में विस्तार किया। –

+0

धन्यवाद (15 वर्ण) –

संबंधित मुद्दे