htaccess সহ ডিরেক্টরি তালিকা অস্বীকার করুন


103

: আমি একটি ফোল্ডার, উদাহরণস্বরূপ আছে /public_html/Davood/ উদাহরণস্বরূপ, ফোল্ডার এবং অনেকগুলি সাব ফোল্ডার: /public_html/Davood/Test1/, /public_html/Davood/Test1/Test/,/public_html/Davood/Test2/ , ...

আমি /public_html/Davood/ডিরেক্টরীলিস্টিং ইন /Davoodএবং সাব ফোল্ডারগুলিকে অস্বীকার করতে একটি এইচটিএকসেস ফাইল যুক্ত করতে চাই , এটা কি সম্ভব?


3
আমি দেখছি না কেন Options All -Indexesকম উত্তর হিসাবে কাজ করেনি!
Fr0zenFyr

1
@ ফ্র0জেনফায়ার এটি ওয়েবসভার কনফিগারেশনের উপর নির্ভর করে, যদি AllowOverride Allকাজ করে
ডিজেফারি

উত্তর:


124

বিকল্পগুলি - তালিকা তালিকা রোধ করতে সূচিগুলির কাজ করা উচিত।

আপনি যদি একটি .htaccess ফাইল ব্যবহার করছেন তবে আপনার প্রধান অ্যাপাচি কনফিগারেশন ফাইলে আপনার কমপক্ষে "অনুমতিভারাইড বিকল্পগুলি" সেটিংস রয়েছে তা নিশ্চিত করুন


1
এটি কিছুই পরিবর্তন করে না
মিনহাজুল

69

এই .htaccessডিরেক্টরিতে ফাইলটিতে এটি যুক্ত করার চেষ্টা করুন ।

Options -Indexes

এই আরও তথ্য রয়েছে।


হ্যাঁ আমি ভেবেছিলাম-সূচকগুলি ডিরেক্টরি তালিকা অক্ষম করে, পরিবর্তে এটি ফোল্ডার থেকে সমস্ত বিষয়বস্তু অবরুদ্ধ করে ... কেন কেউ জানেন?
মাইকেল জ্বর

আমি যা ভাবতে পারি তা হ'ল সার্ভার কনফিগারেশনে কিছু সমস্যা আছে। rewriteমডিউল এবং ডিরেক্টরি সেটিংস এ সক্ষম করার চেষ্টা করুন AllowOverride All। যদি ইতিমধ্যে সমস্ত কিছু স্থানে থাকে এবং আপনি যা মন্তব্য করেছেন তা সত্য Options All -Indexesহয় তবে বিভিন্ন সার্ভারে প্রতিটি প্রকল্পে কাজ করার জন্য আমার খুব ভাগ্যবান হতে হবে ।
Fr0zenFyr

35

Options -Indexesব্রায়ান ড্রুইরির পরামর্শ অনুসারে যদি কাজ না করে, আপনি ফাঁকা index.php ফাইলগুলি তৈরি করতে পুনরাবৃত্ত পদ্ধতি লিখতে পারেন।

আপনার সুরক্ষিত করতে চান এমন আপনার বেস ফোল্ডারের ভিতরে এটি রাখুন, আপনি যা কিছু এটির নাম দিতে পারেন (আমি index.php সুপারিশ করব)

<?php

recurse(".");

function recurse($path){
    foreach(scandir($path) as $o){
        if($o != "." && $o != ".."){
            $full = $path . "/" . $o;
            if(is_dir($full)){
                if(!file_exists($full . "/index.php")){
                    file_put_contents($full . "/index.php", "");
                }
                recurse($full);
            }
        }
    }
}

?>

এই ফাঁকা index.php ফাইলগুলি সহজে মুছে ফেলা বা ওভাররাইট করা যেতে পারে এবং এগুলি আপনার ডিরেক্টরিগুলি তালিকাভুক্ত হতে আটকাবে।


8
যদিও খালি ফাইলটি কোনও চুক্তির চেয়ে বড় নয়, প্রতীকী লিঙ্কগুলি ব্যবহার করা আরও ভাল সমাধান হতে পারে , এটি কিছুটা জায়গা সাশ্রয় করে এবং যদি তিনি কোনও ধরণের অভিন্ন বার্তা প্রদর্শন করতে চান তবে তাকে কেবল 1 টি ফাইল পরিবর্তন করতে হবে would ফাঁকা পৃষ্ঠার পরিবর্তে।
ডালবার্ট

18

নিষিদ্ধ ত্রুটি প্রদর্শন করার জন্য আপনার .htaccess ফাইলে এই লাইনগুলি অন্তর্ভুক্ত করুন:

Options -Indexes 

যদি আমরা আমাদের ফাইলগুলিকে সূচী করতে এবং কিছু তথ্য দিয়ে সেগুলি প্রদর্শন করতে চাই তবে ব্যবহার করুন:

IndexOptions -FancyIndexing

আমরা যদি কোনও নির্দিষ্ট এক্সটেনশানটি না দেখানোর জন্য চাই তবে তা:

IndexIgnore *.zip *.css

1
.httaccessবা .htaccess?
নবীনদা

8

বিকল্পগুলি - সূচকগুলি পুরোপুরি আমার পক্ষে কাজ করে,

.htaccessফাইল এখানে :

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes <---- This Works for Me :)
    </IfModule>


   ....etc stuff

</IfModule>

আগে : এখানে চিত্র বর্ণনা লিখুন

পরে:

এখানে চিত্র বর্ণনা লিখুন


4

দুটি উপায় আছে:

  1. .htaccess ব্যবহার করে: Options -Indexes

  2. ফাঁকা সূচক তৈরি করুন। html


3
Options -Indexes

আমি ডিরেক্টরি সূচক তালিকাটি বাতিল করতে চাই এমন বর্তমান ডিরেক্টরিটি .htaccess ফাইল তৈরি করার চেষ্টা করতে হবে। তবে দুঃখিত, আমি .htaccess কোডটিতে পুনরাবৃত্তির বিষয়ে জানি না।

চেষ্টা করে দেখুন


2

একমত

Options -Indexes

অপশন ওভাররাইডগুলি অনুমোদিত করার জন্য প্রধান সার্ভারটি কনফিগার করা থাকলে এটি কাজ করা উচিত, তবে তা না হলে এটি তালিকা থেকে সমস্ত ফাইল আড়াল করে রাখবে (সুতরাং প্রতিটি ডিরেক্টরি খালি প্রদর্শিত হবে):

IndexIgnore *

2

বিকল্পগুলি - সূচকগুলি একটি সুরক্ষিত ডিরেক্টরিতে 403 নিষিদ্ধ ত্রুটি প্রদান করে। নিম্নলিখিত আচরণটি htaccess এ ব্যবহার করে একই আচরণ অর্জন করা যেতে পারে:

RedirectMatch 403 ^/folder/?$ 

এটি উদাহরণস্বরূপ / ফোল্ডার / এর জন্য একটি নিষিদ্ধ ত্রুটি ফিরিয়ে দেবে ।

আপনি ফোল্ডারের জন্য একটি অনুরোধ নিষিদ্ধ করতে মোড-পুনর্লিখন ব্যবহার করতে পারেন।

RewriteEngine on

RewriteRule ^folder/?$ - [F]

আপনার htaccess যে আপনার কাছ থেকে নিষেধ করতে যাচ্ছি, পরিবর্তন RewriteRule এর প্যাটার্ন ফোল্ডারে থাকে তাহলে ^ ফোল্ডারের /? $ করার ^ $

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.