অ্যাপাচি প্রমাণীকরণ: একটি উপ ডিরেক্টরিতে জনসাধারণের অ্যাক্সেসের অনুমতি দিন


13

এটি সম্ভবত একটি সাধারণ সমস্যা, তবে আমি ডকুমেন্টেশনে সমাধানটি খুঁজে পাচ্ছি না।

আমি বেসিক প্রমাণীকরণ ব্যবহার করে আমার ওয়েবসাইটটি পাসওয়ার্ডে সুরক্ষিত রাখতে চাই। তবে আমি একটি উপ-ডিরেক্টরিটি সুরক্ষিত না রাখতে চাই:

http://mysite.com/ -> BASIC protected
http://mysite.com/somedir -> BASIC protected
http://mysite.com/someotherdir -> BASIC protected
http://mysite.com/public -> not protected

সমস্ত সাইট সুরক্ষিত করতে আমার কোনও সমস্যা নেই তবে আমি কীভাবে একটি ডিরেক্টরি "অরক্ষিত" করতে পারি তা আমি জানি না। সাইটটি একটি ভাগ করা হোস্টে হোস্ট করা হয়েছে, তাই কনফিগারেশনটি করার জন্য আমার কাছে কেবল .htaccess ফাইলগুলিতে অ্যাক্সেস রয়েছে।

প্রমাণীকরণ অবহেলা করার জন্য কোন নির্দেশনা আছে?

সাহায্যের জন্য ধন্যবাদ ...


: এটা হল সবচেয়ে সঠিক সমাধান হবে বলে মনে হয় stackoverflow.com/questions/2641646/...
BryanK

উত্তর:


10

হোস্টটি যা অনুমতি দিয়েছে তার উপর নির্ভর করে .htaccess নিয়ে কোনও সমস্যা হওয়া উচিত নয়।

আপনি নিম্নলিখিত ফোল্ডারে একটি .htaccess লাগানোর চেষ্টা করতে পারেন, যদিও ওভাররাইডগুলি এতে থাকা ডিরেক্টরিগুলির জন্য সক্ষম করতে হবে।

 Allow From All
 Satisfy Any

1
এখানে গোপন সস, আইআইআরসি হ'ল .htaccessটিকে আপনার সাইটের মূলে স্থাপন করা, তবে সেই সিলিন্ড্রিকের মতো একটি কথা বলার মতো .htaccess ফাইলে প্রবেশ করা উচিত।
পল ল্যাথ্রপ

এবং একটি AllowOverride যুক্ত করতে (বা নিশ্চিত করুন যে সেখানে উপস্থিত থাকতে ভুলবেন না) যাতে .htaccess ব্যবহার করা হবে।
টিসি ক্যাম্পবেল

1
@ পল - আমি আমার উত্তরটি মুছে ফেলেছি, তবে এএএফআইসিআর সিলিন্ড্রিকের উত্তরটি বর্তমানে ভুল? উপ-ডিরেক্টরিতে একটি .htaccess ফাইল কোনও উচ্চতর উপরে ওভাররাইড করতে পারে না। তবে প্যারেন্ট ডিরেক্টরিতে .htaccess ফাইলটিতে সাব-ডিরেক্টরিগুলির জন্য নিয়ন্ত্রণগুলি (বা প্রকৃতপক্ষে সেগুলি সরিয়ে নেওয়া) অন্তর্ভুক্ত থাকতে পারে।
Alnitak

আমি রুট ফোল্ডারে এবং যে ফোল্ডারে আমি সর্বজনীন হতে চাই সেগুলিতে একটি <ডিরেক্টরি / নির্দেশিকা "উভয়ই রাখার চেষ্টা করেছি, তবে উভয় ক্ষেত্রেই আমি একটি এইচটিটিপি 500 পাই? অন্য কোনও ধারণা?
Guillaume,

1
আপনি .htaccess এ <ডিরেক্টরি> ব্যবহার করতে পারবেন না, যদিও আপনি <ফাইল> এবং <লোকেশন> ব্যবহার করতে পারেন
Alnitak

7

ঠিক আছে, একটি পাথ সার্ভারের জন্য / ব্যক্তিগত / প্রজাতন্ত্র:

server.com/private/.htaccess

AuthType Basic
AuthName "Private, keep out."
Require...

server.com/private/public/.htaccess

Allow From All
Satisfy Any

এখানে মূল কীটি হ'ল 'সন্তুষ্ট যেকোন' যা একত্রে উপরের প্রবাহ থেকে প্রয়োজনীয়তাগুলি ওআরএস করে। 'সন্তুষ্ট সব' ডিফল্ট।


'যে কোনও সন্তুষ্ট করুন' ining
মারিও

1

আমি বিশ্বাস করি এটি এটি করতে পারে:

# put the global auth stuff here
...

# put the override here
<Location /public>
Allow from All
Satisfy Any
</Location>

অ্যাক্সেস নিয়ন্ত্রণের জন্য <লোকেশন> গুলি ব্যবহার করা কখনই ভাল ধারণা নয়। এটি কেবলমাত্র নামের মাধ্যমে অ্যাক্সেসকে নিয়ন্ত্রণ করে বরং সংস্থানটি নিজেই than সুতরাং, যে কোনও কিছু এটির দ্বারা আলাদা নামের মাধ্যমে অ্যাক্সেস সরবরাহ করে (উদাহরণ হিসাবে) এটিতে অ্যাক্সেস নিয়ন্ত্রণ প্রয়োগ করা হয়নি।
সিকে।

1
@ সি কে প্রকৃতপক্ষে আপনাকে অবশ্যই অবস্থানটি ব্যবহার করতে হবে যদি প্রশ্নের মধ্যে অবস্থানটি কোনও দৈহিক ডিরেক্টরি না হয়ে কেবল মোড_উইরাইটের মতো ছদ্মবেশে একটি "ভার্চুয়াল" ডিরেক্টরি হয়।
নাটালি অ্যাডামস

0

আমি এটি করে এটি সমাধান করতে পেরেছি:

<Directory "/path/to/maindirectory">
[... auth stuff ... ]
</Directory>

<Directory "/path/to/mysubdirectory">
 Allow from All
 Satisfy Any
</Directory>

অবস্থানগুলি ব্যবহার করবেন না, কারণ এগুলি কেস সংবেদনশীল হিসাবে তৈরি করা হয়েছে এবং তারা প্রকৃত ফোল্ডার অ্যাক্সেসের জন্য কাজ করে না, কেবলমাত্র URL- এ।

সুতরাং, উদাহরণস্বরূপ, যদি আমি লিখি

http:/mywebsite/STUFF

অথবা

http://mywebsite/stuff

অথবা

http://mywebsite/StUfF

এটি অবস্থান নিয়ন্ত্রণের জন্য পৃথক, এমনকি কল হওয়া শারীরিক ডিরেক্টরি একই হয় !!!

সংক্ষেপে, আপনি ডিরেক্টরি "স্টাফ" এর অ্যাক্সেস পরীক্ষা করে দেখুন এবং আমি এটি বিভিন্ন ক্ষেত্রে লেখতে পারি।

এছাড়াও, অন্যের উপর অবস্থান নিয়ন্ত্রণের সাথে একক ডিরেক্টরিতে .htaccess ফাইল ব্যবহার করা আমার পক্ষে কাজ করে না।

আশা করি এটা সাহায্য করবে.

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