یک اسکریپت PHP بنویسید که مسیر هدف یک لینک نمادین (symlink) را با استفاده از تابع readlink دریافت کرده و آن را به صورت امن در خروجی HTML نمایش دهد.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:35 0.0
با استفاده از تابع readlink مسیر هدف لینک نمادین را بدست بیاورید؛ ابتدا با is_link بررسی کنید که مسیر ورودی واقعاً لینک باشد، سپس readlink را فراخوانی کنید و در صورت بازگشت مقدار false پیغام خطا مناسب بدهید. برای نمایش در وب از htmlspecialchars استفاده کنید تا خروجی امن باشد و ورودی کاربر را قبل از استفاده اعتبارسنجی و محدود به مسیرهای مجاز کنید؛ در صورت نیاز برای تبدیل به مسیر مطلق از realpath استفاده کنید و خطاهای دسترسی فایل را مدیریت نمایید. این تمرین مرتبط با I/O & Files و توسعه وب است و به مفاهیم پایهای فایل و امنیت ورودیها میپردازد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته امنیتی: قبل از نمایش نتیجه با htmlspecialchars خروجی را امن کنید و ورودی کاربر را به مسیرهای مجاز محدود نمایید تا از حملات XSS و مسیریابی جلوگیری شود. هنگام استفاده از readlink ابتدا با is_link بررسی کنید که مسیر ورودی واقعاً لینک نمادین است و اگر مقدار false بازگردانده شد، پیغام خطای مناسب بدهید. برای جلوگیری از دسترسی به شاخههای خارج از محدوده مورد نظر، مسیر را با realpath به مسیر مطلق تبدیل کرده و دامنه مجاز را با مقایسه مسیر مبدا و هدف بررسی کنید. توجه کنید readlink ممکن است به مسیر نسبی بدهد، پس آن را به مسیر مطلق تبدیل کنید و نهایتاً خروجی را با htmlspecialchars چاپ کنید. همچنین خطاهای دسترسی فایل را مدیریت کنید و ورودیها را در محیطهای مختلف آزمایش کنید.
گزارش