السلام عليكم ورحمة الله
أريد اليوم ان أثرثر معكم حول الامن والحماية للـPHP،
الـPHP تأتي الينا لسوء الحظ غير محمية حامله في جُعبتها كثير من الكوارث والفيضانات واحيانا البراكيين ، ولكن هنالك عدة طرق وأساليب لجعلها آمنه على سيفراتنا او مواقعنا ، في هذا الموضوع
لا أريد ان اتحدث الى المبرمجيين ولن اتعرض الى اكود الـPHP ، لان هنالك عدة مواضيع تعليمية لكيفية كتابة كود آمن في الـPHP ...
يمكنكـ توفير البئة الآمنة للـ PHP عبر عدة طرق كـإضافة موديلست خاصة كــmod_security أو تعطيل بعض دوال الـPHP الخاصة بالتعامل مع نظام التغشيل
يمكن ايضا تعطيل بعض الدوال
لتعطيل بعض دوال الـPHP قم بالدخول الى الـTerminal الخاص بك ، وسوف يكن الشرح لـlinux Box .
1- قم بالبحث عن ملف الاعدادات عبر الامر :
لمستخدمي لوحة التحكم الخاصة بالـcPanel يمكنهم العثور على الملف في الدليل : /
كود:
usr/local/lib/php.ini
وفي بعض الـterminals الاخرى فهي عادةً موجودة في المسار : أفتح الملف عن طريق المحرر المفضل لديك .. مثلا انا استخدم Nano
كود:
pico -w /etc/php.ini
أو
كود:
pico /usr/local/lib/php.ini
بعد فتح الملف توجه الى اسفله وسوف تجد عبارة disabled_functions وهي عباره عن ماغير يتم حفظ الدوال التي تم تعطيلها في الموقع او السيرفر ككل..
إذا وجدت في بداية السطر أي قبل اسم المتغير هذه العلامة ";" قم بحذفها وضع :
كود:
disable_functions = "system,exec"
هنا نحن قمنا بتعطيل دالتيين وهما دالة system() ودالة exec() وهاتيين الدالتيين يمكن عبرهما تنفيذ أي أمر لنظام التشغيل.وفي اعتباري الخاص هاتيين الدالتيين من اخطر
الدوال .
مثال لبعض الدوال الخطر التي يجب ان تعطل :
كود:
disable_functions = "
exec,system,passthru,readfile,shell_exec,escapeshellarg,escapeshellcmd,proc_c
lose,proc_open,ini_alter,dl,popen,parse_ini_file,show_source,curl_exec"
أحفظ الملف واعد تشغيل الـapache ...
هنالك حيله اخرى مع الـ open_basedir
يمكن للمستخدميين عبر الـphp open_basedir منع المستخدمين الخروج من ملفاتهم او مجلداتهم ، أي لكي لا يستطيعون الطلاع على ملفات المواقع الاخرى اللي في نفس السيرفر:
هنالك طريقتيين الاولى الطريقة الاستاندر والثانية عبر لوحة التحكم cPanel
1- قم بإضافة < VirtualHost > لكل المواقع اللي عندك :
كود:
< IfModule mod_php4.c / >
php_admin_value open_basedir "/home/USER/public_html:/home/USER:/usr/lib/php
:/usr/local/lib/php:/tmp"
< /IfModule >
مع تغيير اسم المستخدم "USER" .
2- عن طريق لوحة التحكم cPanel قم بإختيار قائمة اعدادات السيرفر > Tweak Security >
اضغط في Php's open_basedir وقم بتأشير مربع الاختيار لمنع / السماح لمواقع محددة.
او قم بالدخول مباشرة عن طريق الرابط
https://1.1.1.1:2087/scripts2/tweakphpdir
هذا كل ما لدي اليوم .... وأكيد في انتظار مداخلاتكم المفيدة .... وسامحونا على التقصير