اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

فعال کردن proc_open و proc_close روی هاست اشتراکی cPanel

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    فعال کردن proc_open و proc_close روی هاست اشتراکی cPanel

    سلام. من روی هاست اشتراکی cPanel یک اسکریپت PHP دارم که موقع اجرا خطا می‌دهد و ظاهرا به توابع proc_open و proc_close ​ نیاز دارد. از پشتیبانی خواستم این توابع را برای هاستم فعال کنند، اما گفتند به دلایل امنیتی روی هاست اشتراکی فعال نمی‌شود.

    می‌خواستم بدانم این توابع چه کاری انجام می‌دهند و چرا روی هاست اشتراکی معمولا بسته هستند؟​

    #2
    توابع proc_open و proc_close در PHP برای اجرای پردازش‌ها و دستورات سیستمی از داخل اسکریپت استفاده می‌شوند. به زبان ساده، این توابع به برنامه PHP اجازه می‌دهند یک پردازش خارجی اجرا کند و با ورودی/خروجی آن ارتباط بگیرد. برای مثال بعضی اسکریپت‌ها یا فریم‌ورک‌ها ممکن است برای کارهایی مثل این موارد به چنین توابعی نیاز داشته باشند :
    • اجرای دستورهای سیستمی
    • اجرای ابزارهای خط فرمان
    • پردازش فایل‌ها
    • اجرای برنامه‌های جانبی از داخل PHP





    اما روی هاست اشتراکی، فعال بودن این توابع می‌تواند ریسک امنیتی ایجاد کند، چون چندین کاربر مختلف روی یک سرور قرار دارند و اگر یک سایت آسیب‌پذیر باشد، امکان سوء استفاده از این قابلیت‌ها بیشتر می‌شود. به همین دلیل در بسیاری از هاست‌های اشتراکی، توابعی مثل این‌ها به‌صورت پیش‌فرض غیرفعال هستند :
    کد HTML:
    proc_open
    proc_close
    exec
    shell_exec
    system
    passthru


    اگر یک سایت واقعا به این سطح از دسترسی نیاز داشته باشد، بهتر است روی سرویس‌هایی مثل سرور مجازی یا سرور اختصاصی اجرا شود تا تنظیمات PHP و سطح دسترسی‌ها متناسب با نیاز همان پروژه انجام شود. فعال نکردن این توابع روی هاست اشتراکی معمولا به معنی محدودیت بی‌دلیل نیست بیشتر برای حفظ امنیت و پایداری کل سرور و سایر کاربران است.​

    کامنت

    در حال انجام ...
    X