2010-10-01 17 views
6

मैं इसे प्रत्येक php स्क्रिप्ट से पहले कैसे चलाऊंगा और इसे सभी में डाल दूंगा?प्रत्येक PHP स्क्रिप्ट से पहले php स्क्रिप्ट निष्पादित करें?

if ($_SERVER['REMOTE_ADDR'] == '123.123.123.123') 
{ 
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP']; 
} 

मैं मूल रूप से वही प्रभाव डालता हूं जो वास्तव में ऐसा करने के बिना प्रत्येक स्क्रिप्ट के शीर्ष पर डालता है।

+3

ध्यान रखें कि 'HTTP_X_REAL_IP' शीर्षलेख को क्लाइंट द्वारा आसानी से जाली जा सकती है, जबकि यह' REMOTE_ADDR' के लिए इतना आसान नहीं है। –

+1

क्या आपके पास अपने आवेदन के लिए प्रवेश का एक बिंदु नहीं है? – halfdan

+0

यही कारण है कि 'अगर' है। जिस पते पर यह जांचता है वह मेरा प्रॉक्सी सर्वर आईपी है। – Will

उत्तर

10

इसे अपनी फ़ाइल में रखें और इसे इंगित करने के लिए php.ini/.htaccess फ़ाइल में auto_prepend_file कॉन्फ़िगरेशन सेट करें।

अद्यतन: जब से तुम एक टिप्पणी में lighttpd उल्लेख किया है, ध्यान दें कि आप पीएचपी 5.3 के साथ वैश्विक INI फ़ाइल में इस तरह यह कॉन्फ़िगर कर सकते हैं कि:

[PATH=/vhost/domain.com] 
auto_prepend_file = /vhost/domain.com/foo.php 

[HOST=domain.com] 
auto_prepend_file = /vhost/domain.com/foo.php 

या आप फ़ाइल /vhost/domain.com/.user.ini बना सकते हैं और एक ही कर सकते हैं:

auto_prepend_file = /vhost/domain.com/foo.php 
+0

संबंधित: http://stackoverflow.com/questions/3792069/how-to-include-a-php-file-site-wide-using-htaccess-or-other-methods/3792076#3792076 – NullUserException

+1

lighttpd उदाहरण के लिए +1 । मैं भविष्य की पीढ़ियों के लिए प्रश्न शीर्षक में "lighthttpd" जोड़ने का लुत्फ उठा रहा हूं –

+0

इसके लिए जाएं: डी। इसके अलावा बस कोशिश की और यह खूबसूरती से काम करता है। – Will

1

आप अपने PHP विन्यास बदलने के लिए आवश्यक अधिकार हैं, तो auto_prepend_file वास्तव में आप जो खोज रहे हैं है।

auto_prepend_file एक फ़ाइल है कि स्वचालित रूप से मुख्य फ़ाइल से पहले पार्स किया गया है के नाम निर्दिष्ट करता है। फ़ाइल को शामिल किया गया है जैसे कि इसे आवश्यकता() फ़ंक्शन के साथ बुलाया गया था, इसलिए include_path का उपयोग किया जाता है।

विशेष मूल्य none ऑटो-प्रीपेडिंग को अक्षम करता है।

+0

धन्यवाद, सिर्फ उत्सुकता है कि यह केवल 1 वर्चुअल होस्ट के लिए lighttpd के लिए ऐसा करने का एक अच्छा तरीका होगा? – Will

+0

सीजीआई के माध्यम से चलते समय PHP 5.3 प्रति निर्देशिका '.user.ini' फ़ाइलों का समर्थन करता है। – Matthew

+0

@ हाई मैं lighthttpd को पर्याप्त रूप से नहीं जानता लेकिन आप '.htaccess' फ़ाइल –

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