دليل المادة
تستخدم حالياهيستياCPعند إدارة خادمك، قد تحتاج أحيانًا إلى تمكين بعض وظائف PHP التي يتم تعطيلها افتراضيًا، مثل shell_exec، وpassthru، وsystem، وexec.
تعتبر هذه الوظائف قوية للغاية، ولكنها تمثل أيضًا بعض المخاطر الأمنية، لذا قبل تمكينها، تأكد من أن بيئة الخادم لديك آمنة ولا تسمح إلا للمستخدمين الموثوق بهم بالوصول إليها.
لماذا أحتاج إلى تمكين وظائف PHP هذه؟
هذه الوظائف مفيدة جدًا في مواقف معينة.
على سبيل المثال، عند تمكين بعضالبرنامج المساعد ووردبريستعتبر هذه الوظائف ضرورية عندما تتطلب ظروف معينة ذلك، أو عندما تحتاج إلى تنفيذ بعض أوامر النظام على الخادم.
ومع ذلك، فإن هذه الوظائف تشكل أيضًا مخاطر أمنية محتملة.
قد يؤدي الاستخدام غير السليم إلى هجمات على الخادم، لذا يرجى توخي الحذر.
قم بتحرير ملف php.ini
لتمكين هذه الوظائف، تحتاج أولاً إلى تحرير ملف php.ini.
هذا هو ملف تكوين PHP، الذي يتحكم في إعدادات PHP المختلفة.

الخطوة 1: ابحث عن ملف php.ini
في HestiaCP، يمكنك العثور على ملف php.ini وتحريره عبر المسار التالي:
- أدخل إلى لوحة التحكم HestiaCP.
- انتقل إلى إعدادات الخادم.
- انقر فوق تحرير خدمة PHP (تظهر أيقونة القلم الرصاص عند المرور فوق اسم الخدمة).
- حدد الخيارات المتقدمة.
هنا، يمكنك تعديل ملف php.ini.
الخطوة 2: تعديل إعدادات Disable_functions
يوجد في ملف php.ini إعداد يسمى Disable_functions.
يحدد هذا الإعداد وظائف PHP التي تم تعطيلها.
لتمكين shell_exec وpassthr وsystem وexec، يجب إزالتها من قائمة Disable_functions.
إعدادات Disable_functions قبل التعديل:
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,exec,system,passthru,shell_exec,proc_open,popen
في هذا التكوين، يتم تعطيل shell_exec وpassthr وsystem وexec.
إعدادات Disable_functions المعدلة:
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,proc_open,popen
في هذا التكوين، تمت إزالة shell_exec وpassthr وsystem وexec، مما يؤدي إلى تمكين هذه الوظائف.
الخطوة 3: حفظ التغييرات
بعد الانتهاء من التعديلات قم بحفظ ملف php.ini.
تأكد من حفظ كافة التغييرات بشكل صحيح حتى يمكن تطبيق التكوين الجديد.
أعد تشغيل خدمة PHP
بعد تعديل وحفظ ملف php.ini، ستحتاج إلى إعادة تشغيل خدمة PHP لتصبح التغييرات سارية المفعول.
يمكنك إعادة تشغيل خدمة PHP باتباع الخطوات التالية:
- العودة إلى لوحة التحكم HestiaCP.
- انتقل إلى إعدادات الخادم.
- حدد خدمة PHP وانقر فوق "إعادة التشغيل".
التحقق من التكوين
بعد إعادة تشغيل خدمة PHP، يمكنك التحقق من تمكين هذه الوظائف عن طريق تشغيل برنامج PHP نصي بسيط.
على سبيل المثال، يمكنك إنشاء ملف PHP بالمحتوى التالي:
<?php
echo shell_exec('echo Hello World');
ثم قم بالوصول إلى الملف من خلال المتصفح إذا كان الإخراج "Hello World"، فهذا يعني أنه تم تمكين وظيفة shell_exec.
نصيحة أمنية
على الرغم من تمكين هذه الوظائف، تأكد من توخي الحذر.
تأكد من أن خادمك آمن وأن المستخدمين الموثوق بهم فقط هم من يمكنهم الوصول إلى هذه الميزات.
قم بتحديث الخادم بانتظامالبرمجيات، واستخدم كلمات مرور قوية وإجراءات أمنية أخرى لحماية الخادم الخاص بك.
ملخص
من خلال هذه المقالة، تعلمنا كيفية تمكين وظائف PHP shell_exec، passthr، system و exec في HestiaCP.
على الرغم من أن هذه الوظائف قوية جدًا، إلا أنها تشكل أيضًا مخاطر أمنية.
لذلك، عند تمكين هذه الوظائف، تأكد من أن الخادم الخاص بك آمن ولا يسمح بالوصول إلا للمستخدمين الموثوق بهم.
آمل أن يكون هذا المقال مفيدًا لك، إذا كان لديك أي أسئلة، فلا تتردد في الاتصال بي!
مدونة Hope Chen Weiliang ( https://www.chenweiliang.com/ ) شارك "كيف يقوم HestiaCP بتمكين وظائف PHP shell_exec وpassthr وsystem وexec؟" 》، مفيد لك.
مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-31853.html
لاكتشاف المزيد من الحيل المخفية🔑، مرحبًا بك في الانضمام إلى قناتنا على Telegram!
مشاركة ومثل إذا كنت ترغب في ذلك! مشاركاتك وإعجاباتك هي حافزنا المستمر!