दिलचस्प पोस्ट
किसी विशेष राशि के बाद `std :: cin` टाइमआउट से पढ़ने के लिए कैसे करें पायथन में लिनक्स कंसोल विंडो चौड़ाई कैसे प्राप्त करें वस्तु ढेर के लिए पर्याप्त स्थान आरक्षित नहीं कर सके क्या समवर्ती हैशैप मूल्यों को सुरक्षित करता है? गतिशील रूप से पायथन मॉड्यूल आयात करना गतिविधि के विषय को प्रोग्राम बदलें एंड्रॉइड एपैंपपेट v7 21 लाइब्रेरी से ड्रॉवर एआररो टॉगल को कैसे कार्यान्वित करें डॉकर-सर्वर कनेक्शन के मुद्दों में न्यूनतम फ्लास्क ऐप को नियोजित करना क्या आर% में%%% का मतलब है? एंड्रॉइड फोन में कष्टप्रद संवाद के बिना मैं वाक् पहचान कैसे उपयोग कर सकता हूं SQL सर्वर में एक डेटाबेस से दूसरे डेटाबेस को कॉपी करें एकल यूआईएलबल में बोल्ड और नॉन-बोल्ड टेक्स्ट? मैं कैसे Redux में एक मोडल संवाद प्रदर्शित कर सकता हूं जो अतुल्यकालिक कार्य करता है? शीर्षक के बिना डायलॉगप्रगमेंट कैसे बनाएं? मैं स्पार्क में सीएसवी फाइलों से हेडर कैसे छोड़ूं?

(एचटीएसीएसी) डायरेक्ट यूआरएल एक्सेस से फाइल को कैसे रोकें?

यह उसी समस्या के लिए मेरी दूसरी पोस्ट है Coz पिछले पोस्ट कुछ और उदाहरण की आवश्यकता थी।

ठीक है, फिर से कहें, मैं अपाचे का उपयोग कर रहा हूं और मेरे पास एक नमूना वेब फ़ोल्डर है (मेरे लोकलहोस्ट पर) जैसे:

  • http: // localhost / परीक्षण /

फ़ोल्डर में, फ़ाइलें निम्न होंगी:

  • index.html
  • sample.jpg
  • .htaccess

"Index.html" में बस शामिल होगा:

<html> <body> <img src="sample.jpg" /> </body> </html> 

जब मैं http://localhost/test/ पर वेबसाइट चलाता हूं, तो पृष्ठ पर केवल 'sample.jpg' छवि दिखाएगा।

तब समस्या यहाँ है :

  • मैं यूआरएल बार में सीधे छवि को http://img.hiwab.com/apache/sample.jpg रूप में दिखाना चाहता हूं।

ध्यान दें:
जवाबों के नीचे आने के एक दिन के बाद, मैंने पाया कि सभी समाधान तार्किक रूप से काम करते हैं, लेकिन फ़ायरफ़ॉक्स के साथ समस्या। मेरा मतलब है, नीचे दिए गए उत्तर हर ब्राउज़र पर परीक्षण करते समय समाधान प्रदान करते हैं, लेकिन फ़ायरफ़ॉक्स के साथ नहीं।

वेब के समाधान से एकत्रित समाधान "(एचटीएसीएसी) डायरेक्ट यूआरएल एक्सेस से फाइल को कैसे रोकें?"

निम्न प्रयास करें:

 RewriteEngine on RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC] RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC] RewriteRule \.(gif|jpg)$ - [F] 

यदि आप सीधे छवियों तक पहुंचते हैं, लेकिन उन्हें साइट पर प्रदर्शित होने की अनुमति देता है, तो 403 पर लौटता है।

नोट: यह संभव है कि जब आप छवि के साथ कुछ पृष्ठ खोलते हैं और फिर पता बार में उस छवि के पथ की प्रतिलिपि बना सकते हैं तो आप उस छवि को देख सकते हैं, केवल ब्राउज़र की कैश के कारण ही, छवि को सर्वर से लोड नहीं किया गया है ( डेवो से, नीचे पूरी टिप्पणी)

रोशिपो का नियम महान काम करता है!

मैं इसे सीधे साइटों पर एक रिक्त या विशेष संदेश प्रदर्शित करने के लिए उपयोग करता हूं;) फ़ाइलों में प्रत्यक्ष अभिगम प्रयास के स्थान पर, मैं सीधा दृश्य से कुछ को बचाने के लिए चाहता हूं। मुझे लगता है कि यह 403 से ज्यादा निषिद्ध है।

इसलिए रोबियोपॉव के नियम को 'संदेश-प्रदाय' करने के लिए {जीआईएफ, जेपीजी, जेएस, टी.टी.टी.टी.} फाइलों के लिए किसी भी सीधा अनुरोध को पुनर्निर्देशित करने के लिए ले जा रहा है:

 RewriteEngine on RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.ltd [NC] RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.ltd.*$ [NC] RewriteRule \.(gif|jpg|js|txt)$ /messageforcurious [L] 

मैं इसे एक विनम्र तरीके से सीधा आरोपों को अस्वीकार करने का तरीका मानता हूँ, जैसे सीएमएस समझदार फाइलें जैसे एक्सएमएल, जावास्क्रिप्ट … सुरक्षा के साथ दिमाग में: इन सभी बॉट्स को आजकल वेब पर लटक रहे हैं, मुझे आश्चर्य है कि उनके अलगो मेरे ' messageforcurious '।

आपकी टिप्पणियों के आधार पर ऐसा लग रहा है कि आपको क्या चाहिए:

 RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost/ [NC] RewriteRule \.(jpe?g|gif|bmp|png)$ - [F,NC] 

मैंने इसे अपने लोकलहोस्ट पर परीक्षण किया है और यह ठीक काम कर रहा है।

सबसे पहले, यह पता लगाएं कि मुख्य एपाचे की कॉन्फ़िग फाइल httpd.conf कहाँ स्थित है। यदि आप डेबियन का उपयोग करते हैं, तो यह यहाँ होना चाहिए: /etc/apache/httpd.conf कुछ फाइल संपादक जैसे विम या नैनो का उपयोग करके इस फाइल को खोलें और उस रेखा को ढूंढें जो निम्नानुसार दिखती है:

 Options Includes Indexes FollowSymLinks MultiViews 

तो शब्द अनुक्रमणिकाओं को निकालें और फ़ाइल को सहेजें। रेखा इस तरह दिखनी चाहिए:

 Options Includes FollowSymLinks MultiViews 

इसे करने के बाद, अपाचे को पुनरारंभ करें (जैसे /etc/init.d/apache डेबियन में पुनरारंभ करें)। बस!