در دنیای کدنویسی و برنامه هزاران قطعه کد و دستور وجود دارند که برای استفاده درست و بجا از آنها باید آشنایی کامل با هر کدام داشته و در واقع کاملا مسلط باشیم. شاید تا به حال با دستور ()phpinfo مواجه شدید اما نمیدانید چیست، چگونه ساخته شده و چه مشکلات احتمالی به همراه دارد. در این مقاله قصد داریم درباره این دستور صحبت کرده و با آن کاملا آشنا شویم.
دستور ()phpinfo چیست؟
تابع phpinfo میتواند برای خروجی اطلاعات زیادی در زمینه نصب PHP استفاده شود و میتواند برای شناسایی مشکلات نصب و پیکربندی نیز مورد استفاده قرار گیرد. در واقع این دستور اطلاعات کاملی را درباره مفسر پیاچپی نصب شده روی سیستمعامل مثل نسخه پی اچ پی، افزونههای فعال، تنظیمات سرور و … را در اختیار توسعه دهندگان قرار دهد. حال چگونه میتوان این فایل را ایجاد کرد؟
نحوه ساخت فایل phpinfo
پس از ورود به سیستم هاست خود، به پایین بروید و به Advanced -> PHP Info بروید. سپس به صفحهای با اطلاعات دقیق در مورد نسخه فعلی PHP، ماژولها و مقادیر و غیره هدایت میشوید. اگر میخواهید اطلاعات مربوط به یک ماژول یا عملکرد خاص را پیدا کنید، میتوانید از میانبر CTRL + F (CMD + F برای macOS) برای باز کردن ویژگی جستجو در مرورگر خود استفاده کنید.
در صورتی که پلتفرم میزبانی شما ویژگی PHP داخلی ذکر شده را ارائه نمیدهد، جای نگرانی نیست! شما میتوانید با ایجاد یک فایل phpinfo در پوشه public_html خود به همین هدف برسید. فایل از طریق مرورگر قابل دسترسی خواهد بود و همان اطلاعات دقیق را به شما نشان میدهد. شما به راهی برای دسترسی به فایلهای public_html نیاز دارید.
- به File Manager بروید.
- هنگامی که در پوشه public_html قرار گرفتید، روی دکمه New File کلیک کنید.
- نام فایل خود را phpinfo.php بگذارید و Create را فشار دهید.
- به پایین بروید و فایل phpinfo جدید را در دایرکتوری پیدا کنید، سپس روی Edit کلیک راست کنید.
- حالا کد مقابل را در ویرایشگر متن کپی و پیست کرده و Save را فشار دهید. <?php phpinfo(); ?>
همین نتیجه را میتوان با استفاده از هر ویرایشگر متنی در رایانه خود به دست آورد. دستور ()phpinfo را با دنبال کردن همان مراحل قبلی ایجاد کنید، سپس فایل را از طریق یک سرویس گیرنده FTP در پوشه public_html سرور خود آپلود کنید.
بررسی اطلاعات PHP با استفاده از مرورگر
شما باید یک فایل phpinfo.php در دایرکتوری public_html خود داشته باشید. بنابراین، تنها چیزی که باقی میماند این است که با افزودن /phpinfo.php در انتهای نام دامنه خود به فایل دسترسی پیدا کنید.
مشکلات احتمالی دستور phpinfo
برای یک مهاجم، اطلاعات چاپ شده توسط تابع ()phpinfo اهمیت حیاتی دارد. با استفاده از این اطلاعات، مهاجم میتواند به طور موثر یک حمله موفق را برنامه ریزی کند. همانطور که این تابع نسخه PHP را نشان میدهد، مهاجم به دنبال آسیب پذیریهایی است که نسخه PHP دارد. اگر مهاجم phpinfo را در دست بگیرد، میتواند برنامه وب را از بین ببرد. برخی از روشها نیز مربوط به phpinfo هستند:
-
محدودیت حافظه
- حداکثر اندازه فایل را آپلود کنید
- phpinfo() PHP Magic Quotes Gpc روشن است
- phpinfo() Open Base Directory غیرفعال است
- PHP post_max_size نمایش phpinfo
-
اثرات مخرب
- پیمایش دایرکتوری: از آنجایی که مهاجم اطلاعات مربوط به سیستم فایل را از طریق phpinfo دریافت میکند، میتواند از طریق حمله پیمایش دایرکتوری به فایلهای حساس دسترسی پیدا کند.
- حمله اسکریپت بین سایتی: مهاجم میتواند از اطلاعات برای راه اندازی یک حمله اسکریپت بین سایتی استفاده کند.
- تزریق SQL: مهاجم میتواند حمله تزریق SQL را در برنامه وب انجام دهد.
برای جلوگیری از این مشکلات:
- دستورات سیستم عامل را در سیستم عامل زیرین اجرا کنید.
- به IP های داخلی شبکه دسترسی پیدا کنید.
- عملکرد دستور ()phpinfo را در پیکربندی PHP برنامه غیرفعال کنید.
- تمام صفحاتی که تابع phpinfo را فراخوانی می کنند را حذف کنید.
جمع بندی
در این مقاله با دستور ()phpinfo و نحوه ساخت فایل phpinfo آشنا شدیم. این دستور اطلاعات مفیدی در مورد تنظیمات و ویژگیهای محیط PHP ارائه میدهد. با استفاده از این اطلاعات میتوان مشکلات احتمالی در محیط PHP را شناسایی و برطرف کرد.