حماية ملف php.ini وشرح خصائصه | حياة هوست

حماية ملف php.ini وشرح خصائصه

حماية ملف php.ini وشرح خصائصه

الامان هو عامل مهم جدا في اي تطبيق ويب ولا يجب الاغفال عنه, وهذا ما يفعله للاسف بعض المطورين الجدد, سواء

بسبب حسن النية او نسيانهم.

هذا شرح بسيط لحماية الـ php على السيرفر.

اولا: نقوم بالاتصال بالسرفر عن طريق ssh وقد تم شرح كيف يتم ذلك في مواضيع سابقة راجع المقال التالي :

شرح الاتصال عن بعد بالسرفر عن طريق ssh

ثانيا: نقوم بفتح ملف php.ini باي محرر نصوص تفضله وسوف يتم استخدام nano لسهوله استخدامه

مسار الملف هوه

nano /usr/local/lib/php.ini

1- تعطيل safe_mode

للبحث داخل الملف نستخدم Ctrl+W للبحث عن safe_mode

راح تجد امامها Off اجعلها  On بهذا الشكل يعني

safe_mode = On

ملاحظة: هذا الخيار تفعله اذا كان اصدارك الــ PHP اقل من اصدار 5.3 , علما تم ازالته في الاصدار الجديده

شرح عن safe_mode

يحاول توجيه الوضع الآمن حل العديد من المشاكل التي تحدث في بيئة استضافة مشتركة عند استخدام PHP.

يقارن UID (PHP) الخاص ببرنامج PHP النصي مع UIDs للملفات والدلائل التي يحاول الوصول إليها.

إذا لم تتطابق معرفات UID ، فإن النظام لا يسمح للبرنامج النصي بالوصول إلى الملف أو الدليل المطلوب.

2- إخفاء معلومات PHP

نقوم بالبحث عن expose_php وتعطيله

expose_php = Off

3- تعطيل استدعاء ملفات خارج السيرفر وتنفيذها بسيرفر

نقوم بالبحث عن allow_url_fopen , allow_url_include وتعطيله

allow_url_fopen = Off
allow_url_include = Off

ملاحظه: لو لديك سكربت رفع او حتى منتدى او اي شي يتم الرفع من خلاله ملفات او صور راح يظهر رسالة الخادم غير قادر على رفع الملف
لذلك نقوم باغلاق هذا الخيار على حسب استخدامك للسيرفر

4- تعطيل الدوال 

تعطيل الدوال يختلف من سيرفر لاخر السبب لان لكل سيرفر يختلف في الاستخدام عن اسكربت اخر لذلك يكون في اختلاف بتعطيل الدوال

لذلك راح نضع لكم دوال قليلة والاهم في حال حدثت مشاكل بسبب الدالة يمكنك الرجوع للملف وحذفها.

نبحث عن : disable_functions

راح تجد اماهمها علامة = ثم فراغ ضع التالي بعد علامة الـ =
symlink,shell_exec,exec,proc_close,proc_open,popen,system,dl,passthru,escapeshellarg,escapeshellcmd,posix_getgid,posix_getgrgid,dl,exec,pclose,proc_nice,proc_terminate,proc_get_status,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,hypot,pg_host,pos,posix_access,posix_getcwd,posix_getservbyname,myshellexec,getpid,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mknod,posix_setgid,posix_setsid,posix_setuid,posix_times,posix_uname,ps_fill,posix_getpwuid,global,ini_restore,zip_open,zip_read,rar_open,bzopen,bzread,bzwrite,apache_get_modules,apache_get_version,phpversionphpinfo,php_ini_scanned_files,get_current_user,error_log,disk_total_space,diskfreespace,leak,imap_list,hypo,filedump,gethostbyname,safe_mode,ob_clean,getmygid,php_uname,apache_getenv,apache_setenv,bzread,bzwrite,posix_access,bzopen,phpini,highlight_file,show_source,sscanf,dos_conv,get_current_user,get_cwd,error_log,dir,cmd,e_name,vdir,get_dir,only_read,copy,ini_set,getmicrotime,float,shver,c99sh_surl,timelimit,surl_autofill_include,base64_decode,gzinflate,encode64,ln

شرح عن فوائد تعطيل الدوال تعطيل لوظائف PHP التي تسمح للنظام بتنفيذ العمليات الفرعية.

5- خاصية register_globals

نقوم بالبحث عن register_globals وتعطيله

register_globals = Off

6- خاصية magic_quotes_gpc

نقوم بالبحث عن magic_quotes_gpc وتعطيله

magic_quotes_gpc = off

 

تم الانتهاء من شرح حماية ملف php.ini وشرح خصائصه

مع تحيات فريق عمل حياه هوست للاستضافه