আমি একটি বিশ্ববিদ্যালয়ে সিস্টেম অ্যাডমিনিস্ট্রেশনের সাথে কাজ করি এবং কেবল এমন একটি জিনিসকে পেয়ে হোঁচট খেয়েছি যা সম্ভবত সাধারণ তবে এটি আমার কাছে বেশ ধাক্কা খেয়েছিল।
সমস্ত সার্বজনীন_এইচটিএমএল ডিরেক্টরি এবং ওয়েব অঞ্চলগুলি ওয়েব সার্ভারের জন্য পড়ার অনুমতি সহ, আফসিতে সঞ্চয় করা হয়। যেহেতু ব্যবহারকারীদের তাদের পাবলিক_এইচটিএমএলতে পিএইচপি স্ক্রিপ্ট থাকার অনুমতি দেওয়া হয়েছে, এর অর্থ তারা পিএইচপি (এবং মূল ওয়েব ফাইলগুলি) এর মধ্যে একে অপরের ফাইল অ্যাক্সেস করতে পারে।
এটি কেবল কোনও .htaccess পাসওয়ার্ড সুরক্ষা সম্পূর্ণ অকেজো রেন্ডার করে না, এটি ব্যবহারকারীদের মাইএসকিএল ডাটাবেস পাসওয়ার্ড এবং অনুরূপ সংবেদনশীল তথ্য সম্বলিত পিএইচপি উত্স ফাইলগুলি পড়তেও সহায়তা করে। অথবা যদি তারা খুঁজে পান যে অন্যান্য লোকের ডিরেক্টরি রয়েছে যেখানে ওয়েব সার্ভারের লেখার অ্যাক্সেস রয়েছে (যেমন ব্যক্তিগত লগের জন্য বা জমা দেওয়া ফর্ম ডেটা সংরক্ষণ করার জন্য) তারা সেই অ্যাকাউন্টগুলিতে ফাইল সঞ্চয় করতে পারে।
একটি সহজ উদাহরণ:
<?
header("Content-type: text/plain");
print file_get_contents("/afs/example.com/home/smith/public_html/.htpasswd");
?>
ইহা কি একটি সাধারণ সমস্যা? এবং আপনি সাধারণত এটি কীভাবে সমাধান করবেন?
হালনাগাদ:
ইনপুট জন্য ধন্যবাদ। দুর্ভাগ্যক্রমে, মনে হচ্ছে এর কোনও সহজ উত্তর নেই। এর মতো একটি বড় অংশীদারি পরিবেশে, ব্যবহারকারীদের সম্ভবত এটির বেশি পছন্দ দেওয়া উচিত নয়। আমি যে সর্বোত্তম পদ্ধতির কথা ভাবতে পারি তা হ'ল সমস্ত "পাবলিক_এইচটিএমএল" ডিরেক্টরিগুলির মূল কনফিগারেশনে "ওপেন_বেসাদির" সেট করা, এসএইচপিপি চালানো এবং কেবল ক্লিন পিএইচপি (কোনও সিজি স্ক্রিপ্ট নেই, ব্যাকটিক্স সহ বাহ্যিক কমান্ড চালানো ইত্যাদি)।
এই জাতীয় নীতি পরিবর্তন করা যদিও অনেক কিছু ভেঙে ফেলবে, এবং সম্ভবত ব্যবহারকারীরা তাদের পিচফরাক্সকে ধরে ফেলবে এবং আমাদের তাড়া করবে ... আমি কীভাবে সেটআপ পরিবর্তন করব সে সম্পর্কে সিদ্ধান্ত নিলে আমি আমার সহকর্মীদের সাথে এটি নিয়ে আলোচনা করব এবং এখানে আপডেট করব।
open_basedirপ্রোডাকশন শেয়ার্ড হোস্টিং সিস্টেমে নীচের সমাধানটি ব্যবহার করেছি , তবে আমরা সবাইকে তাদের নিজস্ব