উপ-ডিরেক্টরি থেকে .htaccess পাসওয়ার্ড সুরক্ষা কীভাবে সরানো যায়


98

আমি পাসওয়ার্ডটি ব্যবহার করে আমার সম্পূর্ণ ওয়েবসাইটকে সুরক্ষিত করেছি .htaccessতবে আমি সাব ডিরেক্টরিগুলির মধ্যে একটি প্রকাশ করতে চাই যাতে এটি পাসওয়ার্ড ছাড়াই দেখা যায়।

কীভাবে আমি উপ ডিরেক্টরিতে এইচটিসেসের পাসওয়ার্ড সুরক্ষা অক্ষম করতে পারি? বিশেষত .htaccessসিনট্যাক্সটি কী।

এখানে আমার .htaccessফাইলটি আমার ftp এর মূলের মধ্যে রাখা হয়েছে।

AuthName "সাইট প্রশাসক"
AuthUserFile /dir/.htpasswd
অ্যাথগ্রুপফিল / ডেভ / নাল

AuthName সুরক্ষিত
অ্যাথটাইপ বেসিক
ব্যবহারকারীর ব্যবহারকারীর নাম 1
আদেশ অনুমতি, অস্বীকার
সব থেকে অনুমতি দিন

4
এটি সার্ভারফল্টের জন্য আরও উপযুক্ত।
ভিক্ষা

উত্তর:


154

আপনাকে .htaccessপ্রয়োজনীয় ডিরেক্টরিতে একটি নতুন ফাইল তৈরি করতে Satisfy anyহবে এবং অ্যাপাচি ২.৩ পর্যন্ত এটির মতো নির্দেশিকা এতে অন্তর্ভুক্ত করতে হবে:

# allows any user to see this directory
Satisfy Any

আন্টি ২.৪-তে সিনট্যাক্স পরিবর্তিত হয়েছে, এর একই প্রভাব রয়েছে:

Require all granted

7
আমি কেবল এটির সাথে কাজ Allow from allকরতে পারি Satisfy Any
জেস টেলফোর্ড

@ জেসটেলফর্ড কোড স্নিপেটের ভাল ব্যবহার। উত্তরের জন্য @ রাজেড +1 করুন যা আমার পক্ষে কাজ করেছে। আপনি উত্তরটি সহজ সরল করে সম্পাদনা করতে এবং কোড স্নিপেট পদ্ধতি ব্যবহার করে এটি পোস্ট করতে পারেন। অন্যথায় কেউ ভাবতে হবেthanks
জেসি বুর্কসিক

4
@ জেসটেলফোর্ড Satisfy Anyকাজ করছেন এবং এটি মিস-স্পেল হিসাবে তৈরি হয়েছিল Satisify Any। এটি হতে পারে যে এটি আপনার পক্ষে কাজ করে নি।
ব্লুবার্ড

4
আমার একক ফাইলটি সুরক্ষিত থাকা উচিত ছিল না (সমস্ত কিছু সুরক্ষিত), <ফাইল> বিভাগে তৈরি করা হয়েছিল
নিক

এটি আমার পক্ষে কাজ করে না - আমি এখনও পাসওয়ার্ড মডেলটি ব্যবহারকারীর নাম এবং পিডাব্লুডির জন্য জিজ্ঞাসা করি .. ফায়ারফক্স এবং উইন্ডোজ Using ব্যবহার করে ... কেউ কি ধারণা?
ইটসেমডম

36

রাগজেডের উত্তরে যুক্ত করে আমি এটি সার্ভারের নির্দেশিকায় ব্যবহার করেছি:

<Directory /var/www/protected/>
     AuthType Basic
     AuthName "Production"
     AuthUserFile /path/to/.htpasswd
     Require valid-user
</Directory>

<Directory /var/www/protected/unprotected>
     Satisfy Any
</Directory>

অসাধারণ. ধন্যবাদ রাগেজ!


9

কেবল .htaccessএই নির্দেশের সাহায্যে কাঙ্ক্ষিত উপ-ডিরেক্টরিতে একটি নতুন তৈরি করুন :

Allow from all

আপনি কেবলমাত্র এর সাথে আপনার আইপি সীমাবদ্ধ করতে পারেন:

Allow from x.x.x.x

দেখুন: http://httpd.apache.org/docs/current/mod/mod_access_compat.html


এটি যখন "সকলের কাছ থেকে অনুমতি দিন" এবং "সন্তুষ্ট যেকোন" এর পরিবর্তে "প্রয়োজনীয় সকলকে মঞ্জুর করা" দেয় তখন এটি কাজ করে। এই দুজন আমার পক্ষে কাজ করেনি। আমি অ্যাপাচি ২.৪ এ আছি।
এন্ডো 64

1

আপনাকে সাব-ডিরেক্টরীতে আরেকটি .htaccess ফাইল যুক্ত করতে হবে যা প্রমাণীকরণটিকে ওভাররাইড করে। .htaccess ক্যাসকেডগুলি উপরের দিকে, অর্থাৎ এটি বর্তমান ফোল্ডারে প্রদর্শিত হবে, তারপরে একটি স্তর এবং আরও কিছু উপরে চলে যাবে।


4
আপনি সিনট্যাক্স জানার কি ঘটে? আমি ধারণাটি বুঝতে পারি তবে কীভাবে এটি বাস্তবায়ন করতে হয় তা জানি না।
জাস্টিনল

আপনি যদি বর্তমানটি মুছে ফেলতে চান এবং কোনও অনুমতি ব্যবহার না করে থাকেন তবে কেবল এটি .htaccess নামে একটি খালি ফাইল দিয়ে প্রতিস্থাপন করুন
গাই

4
@ গ্যারি এটি নয় যে .htaccess ক্যাসকেডিং কীভাবে কাজ করে, আপনার স্পষ্টতই বিকল্পগুলি ওভাররাইড করতে হবে।
উইলিয়াম ডেনিস

1

কোনও সাইটে মূল .htaccess ফাইল থেকে মৌলিক প্রমাণীকরণের মাধ্যমে সাব ডিরেক্টরিকে "foo" অনুমতি দেওয়ার উপায় এখানে রয়েছে:

AuthType Basic
AuthName "Password Required"
AuthUserFile /dir/.htpasswd
Require expr %{REQUEST_URI} =~ m#^/foo/#
Require valid-user

দ্রষ্টব্য: এটি অ্যাপাচি ২.৪-এ কাজ করে। পূর্ববর্তী সংস্করণগুলির জন্য আমি নিশ্চিত করে নি।


0

আপনি যদি htaccess অনুমোদন থেকে কোনও নির্দিষ্ট ডিরেক্টোটিকে আটকাতে চান তবে উপরের দিকে আপনার htaccess ফাইলে নিম্নলিখিত কোডটি ব্যবহার করতে পারেন।

AuthType Basic AuthName "Enter Pass" AuthUserFile /home/public_html/.htpasswd /*PATH TO YOUR .htpasswd FILE*/ Require valid-user SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow Order allow,deny Allow from env=allow

এছাড়াও আপনি যদি একাধিক ডিরেক্টরি প্রতিরোধ করতে চান তবে যুক্ত করুন

SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow

যতবার ডিরেক্টরি রয়েছে ততবার আপনি htaccess প্রতিরোধ থেকে মুছে ফেলতে চান।

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