پاسخ : فرق SuPHP و dso جیست ؟
بر روی پوشه های با پرمیشن 755 و فایل های با پرمیشن 644 توسط پی اچ پی در suphp کاربر می تونه بنویسه بدون اینکه نیازی به پرمیشن 777 و یا 666 باشه.
و چون در dso این امکان وجود نداره و برای نوشتن کاربر باید پرمیشن فولدرها 777 و فایلها 666 باید بشند، و همچنین وجود پرمیشن های 777 و 666 باگ محسوب میشند، به همین خاطر از نظر csf خطرناک محسوب میشنه !
پاسخ : فرق SuPHP و dso جیست ؟
ممنون از توضیحات کاملت اما من یک مشکل دارم ...
من یک سری فاکشن های خطرناک و ... را بستم وقتی کاربر یک شل آپلود می کنه و یک PHP.ini در هاست خودش ایجاد می کنه همه فکشن ها باز می شه و اطلاعات نمایش داده میشود !
از یکی از دوستان پرسیدم گفت برنامه PHP Safe CGI را روی اپاچی نصب کن که این کار را انجام دادم اما باز هم نشد !
حال یکی از امیر به من گفت بزار روی dso درست میشه ! اینکار روی کردم درست شد !
حالا سر دو راهی گیر کردم !
از این طرف مشکل بر طرف شد از اون طرف یک مشکل دیگه امد !
می خواهم بدونم نمیشه روی SuPHP باشه PHP.ini هم کار نده ! چیکار کنم ؟
پاسخ : فرق SuPHP و dso جیست ؟
دستورهای زیر رو به ترتیب انجام بدید:
1- سییم کالون ها ; رو از اول سه خط بولد شده در فایل زیر حذف کنید
nano /opt/suphp/etc/suphp.conf
[phprc_paths]
;Uncommenting these will force all requests to that handler to use the php.ini
;in the specified directory regardless of suPHP_ConfigPath settings.
application/x-httpd-php=/usr/local/lib/
application/x-httpd-php4=/usr/local/php4/lib/
application/x-httpd-php5=/usr/local/lib/
2- کد زیر رو رو به این فایل اضافه کنید:
nano /usr/local/apache/conf/userdata/suphp.conf
<IfModule mod_suphp.c>
suPHP_ConfigPath /usr/local/lib/
</IfModule>
3- متن موجود در در این فایل رو به روش زیر ادیت کنید و چند خط کد جدید رو به شکل زیر به اون اضافه کنید
nano /usr/local/cpanel/etc/httptemplates/apache2_2/default
<IfModule mod_suphp.c>
suPHP_UserGroup %user% %user%
suPHP_ConfigPath /usr/local/lib/
</IfModule>
4- دستور زیر رو اجرا کنید :
/scripts/ensure_vhost_includes --all-users
5- آپاچی رو ریستارت کنید
و اگر تمام مراحل رو درست انجام داده باشید php.ini از دست یوزرها خارج خواهد شد
موفق باشید
پاسخ : فرق SuPHP و dso جیست ؟
دستت درد نکنه !
اخر شب تستش می کنم !
فقط یک چیزی ! اگر من روی dso تنظیم کنم هکر می توانه به سرور اسیب بزنه یا خیر ؟
منظور این هست که SuPHP چه دسترسی را برای هکر محدود می کنه که dso اون را باز می کنه ؟
پاسخ : فرق SuPHP و dso جیست ؟
اگه روی dso باشه میشه از طریق فایل htaccess. بلاهای خیلی زیادی سر سرور آورد و هم اینکه برای نصب و عملکرد کامل cms ها ، کاربران مجبور میشند که خیلی از فولدر ها رو 777 قرار بدند که این خیلی خطرناکه ! ولی در suphp به پرم 777 نیازی نیست.
پاسخ : فرق SuPHP و dso جیست ؟
خوب از اون نظر هم اگه php.ini برای یوزر ها غیر قابل ویرایش باشه باز هم بعضی ها که php.ini اصلاج شده ی خودشون رو میخواهند داشته باشند به مشکل بر می خوردند
راهی هست که بشه فقط از ویرایش فانکشن های خطرناک جلوگیری کرد ؟
پاسخ : فرق SuPHP و dso جیست ؟
نقل قول:
نوشته اصلی توسط
Woshka
خوب از اون نظر هم اگه php.ini برای یوزر ها غیر قابل ویرایش باشه باز هم بعضی ها که php.ini اصلاج شده ی خودشون رو میخواهند داشته باشند به مشکل بر می خوردند
راهی هست که بشه فقط از ویرایش فانکشن های خطرناک جلوگیری کرد ؟
یه راهی هست که میشه به هر کاربر php.ini اختصاصی داد و اونم ساخت تمپلیت های اختصاصی هر کاربری هست که به php.ini اختصاصی نیاز داشته باشه ولی متاسفانه در اکثر سرور ها اون روش کامل جواب نمیده (به همین خاطر آموزشش رو نذاشتم ! ) ولی اگه عمل کنه مدیر سرور میتونه php.ini اختصاصی خارج از دسترس کاربر و در قسمت دیگری از سرور برای هر یوزر یک php.ini بسازه و خودش اونو ادیت کنه.
شما اگه php.ini در اختیار کاربر بدید، انگاری کل سرور رو دادید دست کاربر!
پاسخ : فرق SuPHP و dso جیست ؟
قسمت دوم را پیدا نکردم !
توی سرور نیست ..
2- کد زیر رو رو به این فایل اضافه کنید:
nano /usr/local/apache/conf/userdata/suphp.conf
<IfModule mod_suphp.c>
suPHP_ConfigPath /usr/local/lib/
</IfModule>
پاسخ : فرق SuPHP و dso جیست ؟
یک فایل php.ini با دستور disable کردن فانکشن ها در سرورتان آپلود کنید، و تست که کنید که کار می کند یا نه؟