حالت Safe Mode در PHP چیست؟

سلام خدمت همه ی دوستان .! توضیح مختصری در مورد حالت safe mode دارم که امیدوارم مفید براتون واقع بشه.حالت امن (safe mode ) یه policy هستش که در زبان PHP برای امنیت سرور گذاشته شده است. وظایفی که به عهده این policy گذاشته شده است حذف برخی از توابع در پی اچ پی و همچنین ایجاد سطح دسترسی صفحات (اسکریپت ها ) و... . البته ناگفته نماند فعال کردن این گزینه در سرور موجب بروز برخی مشکلات از جمله کد نویسی نا صحیح و استفاده از برخی توابع که ممکن نامعتبر باشند :) می شود.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

برای همین اکثر(بیشتر) هاستینگ ها این حالت را غیر فعال نگه می دارند . چرا غیرفعال نگه می دارند؟ :) چون این گزینه بصورت پیش فرض غیرفعال می باشد! خوب یه توضیحی هم در مورد اسکریپت ها بدم ! وقتی ما توانستیم به سایتی دسترسی میگیریم و... :O و زمانی که اسکریپت مورد نظرمون رو توی victimi عزیزمون upload کردیم :O

اسکریپت دسترسی های مختلفی به ما میدهد(اجرای دستورات ترمینال و ...) . c99shell r57shell جزئی از پر استفاده ترین اسکریپت های موجود هستند البته هر کدوم مزایای خودشونو دارن ! خوب اگر ما حالت امن رو فعال کرده باشیم چه اتفاقی برای اسکریپت ها مای میافته ؟ دیگه اسکریپت قابلیت این رو نداره که بتونه دستورات رو اجرا , دایرکتوری بالا و پایین بره و ... و این نکته قابل ذکر است که این حالت فقط برای زبان php هستش و اگر هاستینگ مورد نظر از زبان های برنامه نویسی (perl) و ... پشتیبانی کند. خوب نفوذگران از زبان پرل و ... :O استفاده می کنند.ولی می توانیم تا حدودی جلوی این موضوع بگیریم .

روش فعال کردن حالت امن در لینوکس

  • از طریق ssh به سرور خود متصل شوید .
  • با دستور su یوزر خود را به rootتغییر دهید.
  • پسورد خودتونو وارد کنید.
  • فایل php.ini رو با ادیتور vi باز می کنیم => vi etcphp.ini
  • کلید i میزنیم و خط safe_mode رو به on تغییر میدهیم.
  • esc میزنیم سپس دستور wq: تایپ می کنیم .

روش فعال کردن حالت امن در ویندوز

  • به سرور خود از طریق remote Desktop متصل شوید.
  • به مسیر روبرو برید : c:/windowsphp.ini
  • خط safe_mode با توجه به خواستمون تغییر میدیم.
  • فقط توجه کنید در صورت انجام هرگونه تغییرات , سرور وب خود را دوباره را اندازی کنید.

موفق باشید.


نظرات