2011-05-25 16 views
7

मैंने उपयोगकर्ताओं के सर्वर पर स्क्रिप्ट अपलोड की हैं। मैं नहीं चाहता कि दूसरों को ब्राउज़र के माध्यम से इस स्क्रिप्ट का उपयोग करना पड़े, हालांकि, मैं चाहता हूं कि एक स्क्रिप्ट इसे एक्सेस कर सके।स्क्रिप्ट के लिए फ़ाइल को सुलभ बनाना, लेकिन उपयोगकर्ताओं को

public_html के बाहर फ़ाइल को रखना एक विकल्प नहीं है, क्योंकि इसे वास्तव में public_html में होना आवश्यक है। कोई विचार??? धन्यवाद।

+0

सार्वजनिक_एचटीएमएल में क्यों होना चाहिए? – Fosco

+0

@ फॉस्को ओपी शायद कुछ सर्वर पर है जो केवल 'public_html' – Neal

उत्तर

15

कुछ चर रखो से पहले को शामिल (उपयोगकर्ता एजेंट सूँघने आदि जैसे कमजोर चाल का उपयोग कर को छोड़कर) उन दोनों के बीच अंतर नहीं कर सकते हैं तो तुम्हें पता है, जहां यह कहा जा रहा है:

index.php:

$open = true; 
include 'open.php'; 

open.php:

<?php 
    if(isset($open) && $open){ 
     //do what it is supposed to do 
    } 
    else { 
     header("HTTP/1.1 403 Forbidden"); 
     exit; 
    } 
?> 
हालांकि स्क्रिप्ट के द्वारा आप क्लाइंट-साइड मतलब तो

deny from all 

, तो अंत में आप नहीं कर सकते:

+0

के उपयोगकर्ता अधिकार हैं, मैं इसे इस पर वोट देने जा रहा हूं, अब जब आपने इसे पोस्ट किया है, तो मुझे लगता है कि यह उनका अर्थ है (लेकिन थोड़ा अस्पष्ट थे)। Phpbb की तरह बड़ी परियोजनाओं के समान, यह अन्य स्क्रिप्ट को शामिल करने की अनुमति देगा, लेकिन कोई सीधी पहुंच नहीं होगी। –

+0

+1 साफ समाधान। – Fosco

+0

मैं यह हर समय करता हूं .. बहुत साफ और प्रभावी समाधान –

1

उपयोगकर्ताओं या स्क्रिप्ट के लिए सुलभ फ़ाइल बनाना काफी समानार्थी है। आप एक के बिना एक पाने के लिए नहीं जा रहे हैं। उपयोगकर्ता हमेशा नकली स्क्रिप्ट कर सकते हैं।

2

आप केवल प्रमाणीकृत ग्राहकों तक पहुंच योग्य मार्ग बना सकते हैं और केवल अपनी स्क्रिप्ट पर प्रमाण-पत्र प्रदान कर सकते हैं।

यह ब्राउज़र से पहुंचा जा करने के लिए है, तो उन और स्क्रिप्ट दोनों "ग्राहकों" कर रहे हैं और आप

4

स्क्रिप्ट द्वारा आप सर्वर साइड मतलब हैं, तो आप एक .htaccess फ़ाइल का संबंध फ़ोल्डर में जोड़ सकते हैं।

1

शामिल php फ़ाइल जिसे आप उपयोगकर्ताओं से दूर रखना चाहते हैं उसे आपके DOCUMENT_ROOT से बाहर रखा जा सकता है और फिर भी आपकी अन्य स्क्रिप्ट में शामिल किया जा सकता है।

इस तरह PHP फ़ाइल को आपके वेब उपयोगकर्ताओं द्वारा कभी भी एक्सेस नहीं किया जा सकता है। वास्तव में यह आपके डेटाबेस कनेक्शन प्रमाण-पत्रों को संग्रहीत करने का एक अच्छा सुरक्षित तरीका है।

0

इसे करने का सबसे अच्छा तरीका इसे public_html निर्देशिका से बाहर रखना है। सार्वजनिक_एचटीएमएल निर्देशिका में होना कोई कारण नहीं होना चाहिए यदि केवल आपकी स्क्रिप्ट इसे एक्सेस करने जा रही है।

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