কিছু ফাইলের ওয়েব অ্যাক্সেসকে কীভাবে অস্বীকার করবেন?


14

আমার একটু অপারেশন করা দরকার।

প্রথমত, আমি ডেবিয়ান, অ্যাপাচি 2 (যা ব্যবহারকারীর www-ডেটা হিসাবে 'চালায়) তে চালাচ্ছি

সুতরাং, আমার কাছে টেক্সট ওটি .ini সহ সহজ পাঠ্য ফাইল রয়েছে বা যাই হোক না কেন এক্সটেনশন কিছুই বিবেচ্য নয়।

এই ফাইলগুলি এই জাতীয় কাঠামোর সাথে সাবফোল্ডারে অবস্থিত:

www.example.com/folder1/car/foobar.txt www.example.com/folder1/cycle/foobar.txt www.example.com/folder1/fish/foobar.txt www.example.com/folder1/f فرو/foobar .txt

অতএব, ফাইলের নাম সর্বদা একই থাকে, 'হায়ারার্কি' এর জন্য ডিট্টো, কেবল ফোল্ডারের নাম পরিবর্তন করুন: /folder-name-static/folder-name-dinamyc/file-name-static.txt

আমার যা করা উচিত তা তুলনামূলকভাবে সহজ: সার্ভারে প্রোগ্রামের মাধ্যমে অবশ্যই আমি সেই ফাইলটি পড়তে সক্ষম হব (উদাহরণস্বরূপ পিএইচপি), তবে যদি আমি ব্রসওয়ারের মাধ্যমে ফাইলের বিষয়বস্তু পুনরুদ্ধার করার চেষ্টা করি (url www ডিজিটিং করে)। উদাহরণ.com/folder1/car/foobar.txt, অথবা সিআরএল ইত্যাদির মাধ্যমে ..) আমার অবশ্যই একটি নিষিদ্ধ ত্রুটি পেতে হবে বা যাই হোক না কেন, তবে ফাইলটি অ্যাক্সেস করতে পারছি না

এটিও দুর্দান্ত লাগবে যে এমনকি এফটিপি-র মাধ্যমে এই ফাইলগুলি অ্যাক্সেস করাও 'লুকানো', বা যাইহোক ডাউনলোড করা যায়নি (কমপক্ষে আমি এফটিপি রুট এবং ব্যবহারকারীর ডেটা দিয়ে ব্যবহার করি)

আমি কিভাবে করব?

আমি এটি অনলাইনে পেয়েছি, ফাইলে রাখি। Htaccess:

<Files File.txt>
 Order allow, deny
 Deny from all
</ Files>

এটি কাজ করছে বলে মনে হয় তবে কেবল ফাইলটি ওয়েব রুটে (www.example.com / myfile.txt) থাকলে এবং সাবফোল্ডারে নয়। তদুপরি, দ্বিতীয় স্তরের ফোল্ডারগুলি (www.example.com/folder1/ ফল /foobar.txt) ডাইনামাইক্যালি তৈরি করা হবে .. আমি সময়ে সময়ে .htaccess ফাইল পরিবর্তন করতে এড়াতে চাই।

একটি নিয়ম তৈরি করা সম্ভব, এর মতো কিছু, যা প্রদত্ত নামের সাথে সমস্ত ফাইলের জন্য যায়, যা * www.example.com / ফোল্ডার-নাম-স্ট্যাটিক / * ফোল্ডার-নাম-ডাইনামাইক / *** ফাইলের নাম রয়েছে -static.txt *, যেখানে সেই অংশগুলি সর্বত্র একই , কেবল ** যে একটি পরিবর্তন ?

সম্পাদনা :

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

/var/www/vhosts/example.com/httpdocs/folder1/car/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/cycle/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/fish/[other folders and files here]

//and, then for the 'secrets' files:

/folder1/data/car/foobar.txt
/folder1/data/cycle/foobar.txt
/folder1/data/fish/foobar.txt

উত্তর:


21

আপনি ফাইল / ফাইলস ম্যাচ এবং একটি নিয়মিত এক্সপ্রেশন ব্যবহার করতে পারেন :

<Files ~ "\.txt$">
    Order allow,deny
    Deny from all
</Files>

এইভাবে .htpasswd সুরক্ষিত।

বা .txt এর যে কোনও অ্যাক্সেস একটি 404 এ পুনর্নির্দেশ করুন:

RedirectMatch 404 \.txt$

আমি সেভাবে ব্যবহার করার চেষ্টা করেছি, তবে মনে হচ্ছে সাব-ফোল্ডারগুলিতে ফাইলের কাজ করে না
স্ট্রে

আমি আমার regexps ঠিক করেছি, দুঃখিত ...
rkthkr

ঠিক আছে .. কাজ করতে পারে। তবে .. রেজিএক্সপ্যাকটি RedirectMatch 404 \ myfilename.txt like এর মতো হওয়া উচিত, তাই না? ফাইলগুলি সর্বদা একই নাম হবে তবে বিভিন্ন ফোল্ডারে। এবং এই সমাধান ঠিক FTP পদ্ধতি প্রভাবিত করবে না?
স্ট্রে

এটি সঠিক দেখাচ্ছে ...
rkthkr

হ্যাঁ, আমি নিশ্চিত এটি এটি কাজ করে ... তবে আমার regexp RedirectMatch 404 \ myfilename.txt $ অবশ্যই ভুল হতে পারে .. আমি RedirectMatch 404 \ .txt use ব্যবহার করে, সমস্ত .txt ফাইল ব্লক করে তবে এটি কাজ করে তবে আমি ফাইলের নাম ব্যবহার করি না regexp এ। কোন সাহায্য? আমি রেজিএক্সপ্যাকের সাথে জেনুইস নই;)
স্ট্রেড

1

হ্যাঁ, এটি সব সম্ভব। তবে আপনার যদি সার্ভারে এমন কোনও প্রোগ্রাম থাকে যা পাঠ্য ফাইলগুলিতে অ্যাক্সেস করতে পারে তবে সেগুলি ওয়েবের মূল থেকে দূরে থাকা উচিত। উদাহরণস্বরূপ, যদি আপনার ওয়েব ফাইলগুলি ~ / public_html / এ থাকে তবে আপনার সেগুলি ~ / ডেটাতে সঞ্চয় করা উচিত। এগুলি পাবলিক এইচটিএমএল ফোল্ডারে রাখার কোনও কারণ নেই।

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

ওয়েব অ্যাক্সেসযোগ্য ফোল্ডারে যদি আপনার এই ফাইলগুলির দরকার হয়, আপনি মোড_আরাইটের মাধ্যমে যা জিজ্ঞাসা করছেন তা করার উপায় রয়েছে। অনেক উদাহরণের জন্য নিম্নলিখিত সাইটটি দেখুন, যার মধ্যে একটি বিলটি মাপসই করা উচিত।

http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/


ফাইলগুলি পাইথন বা পিএইচপি এর মাধ্যমে তৈরি করা হবে, তারপরে আর কখনও সম্পাদিত হবে না, কেবল পড়ুন।
স্ট্রে

0

ফাইলটিতে অ্যাক্সেস অস্বীকার করার জন্য মানক ইউনিক্স ফাইল অনুমতিগুলি ব্যবহার করবেন না কেন?

ইউনিক্স ফাইল অনুমতি সম্পর্কে উইকিপিডিয়ায় একটি শালীন ব্যাখ্যা রয়েছে


পিএইচপি, পাইথন, রুট ব্যবহারকারীরা সেই ফাইলগুলিকে হ্যান্ডেল করতে এবং ব্রাউজারগুলি অ্যাক্সেস না করার অনুমতি কীভাবে দেব?
স্ট্রে

0

সাব-ডিরেক্টরীতে এবং বিবৃতিতে .htaccess ফাইলটি রাখুন, AllowOverride সব সেট করুন


সুতরাং আমি প্রতি 2 ° স্তরের ফোল্ডারে একটি .htaccess প্রয়োজন? মিমিএইচ .. একটি সমাধান হতে পারে .. 1 .htacces দিয়ে আরও ভাল হবে ..
স্ট্রে


0

আপনার সমস্ত কিছু পড়ার পরে, আমি লক্ষ্য করেছি যে .htaccess ফাইলটি আমার পক্ষে উপায় হতে পারে: কেবল যেখানে ফোল্ডারে রয়েছে সেখানে ফাইলগুলি প্রভাবিত করুন।

তবে আমার ফোল্ডারগুলি গতিশীলভাবে উত্পন্ন হয়েছে। আমি মনে করি না যে .htaccess ফাইলটি অনুলিপি করুন বা প্রতিবার নতুন ফোল্ডারটি তৈরি করা এটি একটি নির্ভরযোগ্য উপায় a

ডেভ যেমন বলেছিলেন, যৌক্তিক উপায়ে কনফিগার পাঠ্য ফাইলগুলি ওয়েবে অ্যাক্সেসযোগ্য ফোল্ডারের বাইরে সংরক্ষণ করা উচিত।

তবে প্রতিটি ফোল্ডারে আমাকে অন্যান্য ফাইল, উদাহরণগুলির জন্য চিত্রগুলি সঞ্চয় করতে হবে, এটি অবশ্যই ওয়েব-অ্যাক্সেসযোগ্য হতে হবে ... এবং আমি এখনও মনে করি না যে ফোল্ডারগুলির কাঠামোর প্রতিরূপকরণ, ওয়েব-রুট নির্দেশিকা এবং তার বাইরেও, একটি নির্ভরযোগ্য উপায় is । অতএব, পিএইচপি অনুমতিপ্রাপ্ত পথে কনফিগার ফোল্ডারটি অন্তর্ভুক্ত করার জন্য আমাকে এমনকি অ্যাপাচি কনফিগারেশনও পরিবর্তন করতে হবে .. যাইহোক, এটি কোনও সমস্যা হওয়া উচিত নয়।

সুতরাং, আমার যদি আরও ভাল না হয় তবে আমাকে আরও কম খারাপটি বেছে নিতে হবে ।

ভবিষ্যতে অনুশোচনা না হওয়ার আশায় আমি একাধিক .htaccess ফাইল সমাধান ব্যবহার করব।

অন্যান্য প্রতিটি সমাধান প্রশংসা করা হয়।


0

থেকে অর্ডার ডকুমেন্টেশন অধ্যায়:

কীওয়ার্ডগুলি কেবল একটি কমা দ্বারা পৃথক করা যেতে পারে; তাদের মধ্যে কোনও সাদা জায়গার অনুমতি নেই।

সুতরাং নিম্নলিখিতটি ভুল:

<Files File.txt>
Order allow, deny
Deny from all
</ Files>

নিম্নলিখিতটি (আরও) সঠিক

<Files "File.txt">
Order allow,deny
Deny from all
</Files>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.