.Htaccess এ একটি নির্দিষ্ট ফোল্ডারে অ্যাক্সেস অস্বীকার করুন


130

আমি site/includesইউআরএল ম্যানিপুলেট করে ফোল্ডারে অ্যাক্সেস থেকে ব্যবহারকারীদের অস্বীকার করার চেষ্টা করছি ।

আমি কি জানি না যে আমাকে সবকিছু অস্বীকার করতে হবে এবং ম্যানুয়ালি অনুমতি দেওয়ার জন্য পৃথক ব্যতিক্রমগুলি করতে হবে, যদি আমি কেবল এই একটি ফোল্ডারটিকে অস্বীকার করতে পারি, বা যদি পুনরায় লেখার কোনও ফাংশন ব্যবহার করা যেতে পারে।

নির্দিষ্ট উদাহরণ: আমি localhost/site/includesইউআরএল টাইপ করে ডিরেক্টরি ফাইল দেখতে চাই না ।


1
কেবলমাত্র ডিরেক্টরি ডিরেক্টরিগুলি Options -Indexes

উত্তর:


205

site/includes/.htaccessফাইল তৈরি করুন এবং এই লাইনটি যুক্ত করুন:

Deny from all

5
আরে !! অনুভা আমি এটি আমার এপিআই ফাইলগুলিতে / এপিআই ফোল্ডারের ভিতরে সরাসরি অ্যাক্সেস নিষ্ক্রিয় করতে ব্যবহার করেছি তবে এখন সমস্ত ওয়েব সার্ভিস কল 403 নিষিদ্ধ স্থিতি প্রেরণ করছে .. যখন আমি ব্রাউজার থেকে কেউ এটি অ্যাক্সেস করে তখন অ্যাক্সেস ব্লক করতে চাই।
রাভিসনি

9
ওয়েবসভারের জন্য ব্রাউজার এবং নন-ব্রাউজারের মধ্যে থাকা অনুরোধগুলির মধ্যে কোনও সত্যিকারের পার্থক্য নেই।
অনুভা

আমি nginx ব্যবহার করি এবং আমি এর ব্যবহার করতে পারি না .htaccess। তো, আমি কীভাবে এটি ছাড়া পারি .htaccess? ধন্যবাদ
শফিজাদেহ

আমি যদি সমস্ত কিছু থেকে অস্বীকার করি তবে আমি ফোল্ডার / সাব ফোল্ডারের ফাইলগুলিতে কীভাবে অ্যাক্সেস করতে পারি? ফোল্ডার / সাব ফোল্ডারে ফাইলগুলি 404 ত্রুটি দেয়।
বিকাশ খুন্তেটা

2
Deny from all404 কিন্তু 403 দেয় না You আপনি এখনও পিএইচপি / পার্ল ইত্যাদি ব্যবহার করে ফাইল / ফোল্ডারগুলি অ্যাক্সেস করতে পারেন তবে ওয়েব অনুরোধটি ব্যবহার করছেন না। যদি এটি আপনার প্রশ্নের উত্তর না দেয় তবে আপনি একটি নতুন প্রশ্ন খুলতে পারেন।
অনুভা

52

ব্যবহার করে আপনি কোনও ফোল্ডারে অ্যাক্সেসও অস্বীকার করতে পারেন RedirectMatch

Htaccess এ নিম্নলিখিত লাইনটি যুক্ত করুন

RedirectMatch 403 ^/folder/?$

এটি 403 forbiddenফোল্ডারের জন্য ত্রুটি ফিরিয়ে দেবে যেমন: http://example.com/folder/তবে এটি সেই ফোল্ডারের অভ্যন্তরে ফাইল এবং ফোল্ডারগুলির অ্যাক্সেসকে ব্লক করে না, আপনি যদি ফোল্ডারের অভ্যন্তরে সমস্ত কিছু ব্লক করতে চান তবে কেবল রেজেক্স প্যাটার্নটি পরিবর্তন করুন ^/folder/.*$

আর একটি বিকল্প হ'ল mod-rewrite যদি url-rewrting-moduleসক্ষম হয় আপনি নীচের মতো কিছু ব্যবহার করতে পারেন root/.htaccss:

RewriteEngine on

RewriteRule ^folder/?$ - [F,L]

এই অভ্যন্তরীণভাবে জন্য একটি অনুরোধ ম্যাপ করবে folderকরার forbiddenত্রুটি পাতা।


1
অ্যাপাচি ২.২২ এর সাথে সেরা সমাধানটি প্রথমটি: রিডাইরেক্ট ম্যাচ .....
জন

6
.htaccessআমার যে ডিরেক্টরিটির অ্যাক্সেস অস্বীকার করতে হবে তার প্রতিটি ডিরেক্টরিতে একাধিক ফাইল তৈরি করার চেয়ে এই উত্তরটি অনেক বেশি পছন্দ করে।
ড্যানম্যাড

40

একটি .htaccessফাইল আপনার ব্যবহার করা প্রয়োজন

Deny from  all

site/includes/.htaccessএটি নির্দিষ্ট করে তুলতে এটি রাখুনincludes ডিরেক্টরিতে

যদি আপনি কেবল ডিরেক্টরি ফাইলগুলি ব্যবহার করতে পারেন তবে তার একটি তালিকা নিষ্ক্রিয় করতে চান

Options -Indexes 

2
এটি কি পুনরাবৃত্তি?
আবদুল্লাহ

@ আবদুলিল্লাহ হ্যাঁ
অলিভার এম গ্রেচ

18

সমস্ত ফাইলের জন্য অ্যাক্সেস অস্বীকার করে আমরা ডিরেক্টরিটি খুব সুরক্ষিত হিসাবে সেট করব। নীচে কোডটি আপনি .htaccess ফাইলে sertোকাতে চান is

Order Allow,Deny 
Deny from all 

যেহেতু আমরা এখন সুরক্ষা সেট করেছি, এখন আমরা আমাদের পছন্দসই ফাইল ধরণের অ্যাক্সেসের অনুমতি দিতে চাই। এটি করতে, নীচে কোডটি সন্নিবেশ করানো সুরক্ষা কোডের নীচে .htaccess ফাইলে যুক্ত করুন।

<FilesMatch "\.(jpg|gif|png|php)$">
Order Deny,Allow
   Allow from all
</FilesMatch>

আপনার চূড়ান্ত .htaccessফাইল দেখতে হবে

Order Allow,Deny 
Deny from all 

<FilesMatch "\.(jpg|gif|png|php)$">
Order Deny,Allow
   Allow from all
</FilesMatch>

উত্স থেকে উত্স একটি সুরক্ষিত ডিরেক্টরিতে নির্দিষ্ট ফাইল ধরণের অ্যাক্সেসের অনুমতি দিন


এই উত্তরটি আমাকে অনেক মাথাব্যথা বাঁচিয়েছে। একটি যাদুমন্ত্র মত কাজ করে.
আমি খুব চেষ্টা করি তবে

9

আপনি ফোল্ডারের জন্য একটি .htaccess ফাইল তৈরি করতে পারেন, যার সাথে অ্যাক্সেস অস্বীকার করা উচিত

Deny from  all

অথবা আপনি একটি কাস্টম 404 পৃষ্ঠাতে পুনর্নির্দেশ করতে পারেন

Redirect /includes/ 404.html

6

আপনি সীমাবদ্ধ করতে চান ফোল্ডারে কেবল .htaccess রাখুন

## no access to this folder

# Apache 2.4
<IfModule mod_authz_core.c>
    Require all denied
</IfModule>

# Apache 2.2
<IfModule !mod_authz_core.c>
    Order Allow,Deny
    Deny from all
</IfModule>

সূত্র: মান্টিসবিটি সূত্র।


4

IndexIgnore * সাব-ডির সহ আপনার ওয়েবসাইটের ডিরেক্টরিগুলির ফাইল তালিকা অক্ষম করতে আপনি এটি আপনার মূলের .htaccess ফাইলটিতে রাখতে পারেন


6
এটি ফাইল তালিকা অক্ষম করে না, তবে স্বনির্ধারণকারীকে সূচিটি তৈরি করার সময় সমস্ত ফাইল উপেক্ষা করতে বলে। ফাইল তালিকা অক্ষম করতে, আপনি ব্যবহার করবেন Options -Indexes
ভ্লাদিমির কর্নিয়া

3

Index.php, index.html, index.htm তৈরি করা নিরাপদ নয়। হোন, যে কেউ ফাইলের নাম অনুমান করে নির্দিষ্ট ডিরেক্টরিতে আপনার ফাইলগুলিতে অ্যাক্সেস পেতে পারেন। উদাহরণস্বরূপ: http://yoursite.com/includes/file.dat সুতরাং, প্রস্তাবিত পদ্ধতিটি সমস্ত দর্শকদের অস্বীকার করার জন্য একটি .htaccess ফাইল তৈরি করছে;)) আনন্দ কর !!


2

আপনি এইভাবে গতিশীলভাবে এটি করতে পারেন:

mkdir($dirname);
@touch($dirname . "/.htaccess");
  $f = fopen($dirname . "/.htaccess", "w");
  fwrite($f, "deny from all");
fclose($f);

0

কিছু কারণে যা আমি বুঝতে পারি নি, ফোল্ডার / .htaccess তৈরি করা এবং সমস্ত থেকে অস্বীকার করা আমার পক্ষে কাজ করতে ব্যর্থ হয়েছিল। কেন জানি না, এটিকে সহজ বলে মনে হয়েছিল তবে কাজ হয়নি, পরিবর্তে এর পরিবর্তে রুট এইচটিচ্যাক্সে কাজ করে RedirectMatch 403 ^ / ফোল্ডার /.* adding যোগ করুন।

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