یک اسکریپت PHP بنویسید که مسیر هدف یک لینک نمادین (symlink) را با استفاده از تابع readlink دریافت کرده و آن را به صورت امن در خروجی HTML نمایش دهد.

1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:35

0.0

با استفاده از تابع readlink مسیر هدف لینک نمادین را بدست بیاورید؛ ابتدا با is_link بررسی کنید که مسیر ورودی واقعاً لینک باشد، سپس readlink را فراخوانی کنید و در صورت بازگشت مقدار false پیغام خطا مناسب بدهید. برای نمایش در وب از htmlspecialchars استفاده کنید تا خروجی امن باشد و ورودی کاربر را قبل از استفاده اعتبارسنجی و محدود به مسیرهای مجاز کنید؛ در صورت نیاز برای تبدیل به مسیر مطلق از realpath استفاده کنید و خطاهای دسترسی فایل را مدیریت نمایید. این تمرین مرتبط با I/O & Files و توسعه وب است و به مفاهیم پایه‌ای فایل و امنیت ورودی‌ها می‌پردازد.

توسط پژوهشگر در 221 روز قبل ساعت 01:35
دسته بندی ها: PHP PHP for beginner
arash در 221 روز قبل ساعت 12:44

نکته امنیتی: قبل از نمایش نتیجه با htmlspecialchars خروجی را امن کنید و ورودی کاربر را به مسیرهای مجاز محدود نمایید تا از حملات XSS و مسیریابی جلوگیری شود. هنگام استفاده از readlink ابتدا با is_link بررسی کنید که مسیر ورودی واقعاً لینک نمادین است و اگر مقدار false بازگردانده شد، پیغام خطای مناسب بدهید. برای جلوگیری از دسترسی به شاخه‌های خارج از محدوده مورد نظر، مسیر را با realpath به مسیر مطلق تبدیل کرده و دامنه مجاز را با مقایسه مسیر مبدا و هدف بررسی کنید. توجه کنید readlink ممکن است به مسیر نسبی بدهد، پس آن را به مسیر مطلق تبدیل کنید و نهایتاً خروجی را با htmlspecialchars چاپ کنید. همچنین خطاهای دسترسی فایل را مدیریت کنید و ورودی‌ها را در محیط‌های مختلف آزمایش کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری