पहुँच या ऑटो-डिलीट readme.html, License.txt, wp-config-sample.php को रोकें


13

बस एक त्वरित प्रश्न है जो सुरक्षा के साथ थोड़ा सा मदद कर सकता है। मैंने देखा कि readme.html फ़ाइल में संस्करण संख्या सूचीबद्ध है। यह प्रत्येक अपग्रेड के बाद फिर से दिखाई देता है और इसलिए licence.txt, और wp-config-sample.php करते हैं।

क्या नवीनीकरण के बाद वर्डप्रेस ऑटो इन फ़ाइलों को हटाने का एक आसान तरीका है?

मैं पहले से ही मेटा टैग, आरएसएस फ़ीड, परमाणु, आदि में दिखाने से संस्करण संख्या को अवरुद्ध करता हूं।

मैं जानता हूँ कि सुरक्षा के इस प्रकार वास्तव में नहीं है कि बहुत उपयोगी है, लेकिन बस इसे एक छोटे से शुरू हो सकता है सोचा। मैंने सुना है कि लोग बस WP में शामिल jQuery के संस्करण की जांच कर सकते हैं और इसमें शामिल हैं और क्रॉस संदर्भ जो WP के संस्करण को भेजते हैं।

जवाबों:


19

आपको वास्तव में इन फ़ाइलों को निकालने की आवश्यकता नहीं है। यह सिर्फ उन तक पहुंच को अवरुद्ध करने के लिए बहुत आसान है। यदि आप सुंदर URL का उपयोग कर रहे हैं तो आपके पास पहले से ही एक .htaccess फ़ाइल है। फ़ाइलों को ब्लॉक करने के लिए .htaccess का उपयोग करना सुरक्षित है और आपको केवल एक बार निर्देश जोड़ना होगा।

फ़ाइलों को ब्लॉक करना इस तरह एक .htaccess को निर्देश जोड़कर किया जाता है:

    <files filename.file-extension>
         order allow,deny
         deny from all
    </files>

तो, readme.html को ब्लॉक करने के लिए आप ऐसा करते हैं:

    <files readme.html>
         order allow,deny
         deny from all
    </files>

लाइसेंस फ़ाइल या किसी भी अन्य फ़ाइल के साथ ऐसा ही करें जिसे आप किसी को भी एक्सेस करने से रोकना चाहते हैं। नोटपैड या किसी भी अन्य मूल पाठ संपादक में केवल .htaccess खोलें, निर्देश जोड़ें और सहेजें, यह सुनिश्चित करते हुए कि पाठ संपादक फ़ाइल का नाम बिल्कुल रखता है - अंत में किसी भी .txt के बिना।


1
यह वास्तव में विकल्प है जिसे मैंने समाप्त किया है। यह पूरी तरह से काम करता है।
सहस कट्टा

1
खबरदार , कि उपरोक्त सिंटैक्स केवल अपाचे 2.2 तक वैध है! बाद में Require all deniedअपाचे 2.4 और इसके बाद के संस्करण के लिए (उन आंतरिक 2 लाइनों की जगह) का उपयोग करें । यहाँ अधिक विवरण
फ्रैंक नॉक

5

यहाँ मेरा लो है:

RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) - [R=404,NC,L]
  • अस्तित्व के बारे में किसी भी सुराग से बचने के लिए 403 (निषिद्ध) के बजाय 404 (मौजूदा नहीं)।
  • सबफ़ोल्डर्स में भी (यानी थीम और प्लगइन्स, जो हमले के अवसरों की पेशकश कर सकते हैं)
  • केस-असंवेदनशील, विस्तार-लचीला, भी README.html, या लाइसेंस।

व्यक्तिगत रूप से, मैं भी ब्लॉक करूंगा:

RewriteRule \.(?:psd|log|cmd|exe|bat|c?sh)$ - [NC,F]

nb:

  • '?:' सिर्फ ब्रैकेट को गैर-मिलान (कोई महत्व नहीं) घोषित करता है।
  • होने की आवश्यकता है RewriteEngine on(यह सबसे अधिक संभावना है। यह दुर्लभ होगा, WordPress का उपयोग करने के लिए बिना ... (बदसूरत permalinks, आदि ...))।
  • सम्मिलित करने से पहले# BEGIN WordPress अपनी .htaccess में अनुभाग

3
add_action('core_upgrade_preamble','my_function_to_delete_files');

संपादित करें: आप इन्हें भी आज़मा सकते हैं

add_action('upgrader_pre_install','my_function_to_delete_files');
add_action('upgrader_post_install','my_function_to_delete_files');

धन्यवाद, मुझे पता लगा कि php अनलिंक फीचर है और यह काम करता है, लेकिन एक मुद्दा है। आपके द्वारा प्रदान किया गया हुक केवल डैशबोर्ड के तहत अपडेट अनुभाग पर जाकर निष्पादित होता है। क्या अपग्रेड होने के बाद एक और हुक है?
सहस कट्टा

1
बीमार नज़र डालें और आपको
बता

@Sahas @ atif089 क्या आपने इसे काम करने के लिए प्रबंधित किया है?
INT

हटाने के बजाय (यदि आप वास्तव में रीडमी पढ़ना चाहते हैं!) तो आप इसे अपने फंक्शन में इस्तेमाल कर सकते हैंchmod("/path/to/readme.txt", 0640);
12
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.