Foydalanuvchiga yuklangan sahifalarni PHP-da xavfsiz tarzda ishlatishning biron bir usuli bormi?

Berilgan katalogga fayllarni (php-saytlar/ilovalar) yuklamoqchiman va ularni o'sha erda, veb-serverim ichida ishga tushirmoqchiman. Biroq, oddiy shell_exec chaqiruv allaqachon jiddiy oqibatlarga olib kelishi mumkin.

Men o'ylayotgan barcha narsalar, sahifalar katalogini public_htmldan tashqariga o'rnatadi va ruxsatni avtomatik ravishda o'rnatadi, shunda foydalanuvchi o'sha sahifani ishlayotgan foydalanuvchi tashqarida hech qanday huquqlarga ega emas.

Bugungi kunga qadar topgan boshqa vasotiy echim juda xavfsizsiz echimga ega bo'lgan runkit_sandbox , xususan, tark qilingan kabi ko'rinadi.

Albatta, hech qanday yo'l yo'qmi? Hatto to'liq shell (shell scripts) bilan ham emasmi?

1
Yuklovchilarga ishonmasangiz, bu juda yomon fikr.
qo'shib qo'ydi muallif ceejayoz, manba
Juda yaxshi tushunmadim, nega foydalanuvchilaringiz serverlaringizda skriptni ishlatishga ruxsat berishingiz kerak? Yoki ularni faqat php-dasturlarini tarqatishga ruxsat berishni xohlaysizmi?
qo'shib qo'ydi muallif Sacx, manba

3 javoblar

Yo'q. Foydalanuvchilar tomonidan yuklangan kodlarning ko'pchiligi qonuniy xatti-harakatlarga o'xshash (masalan, spam yuborishni yuborish, tashqi API-larga kirish, DDoS-ni amalga oshirish, layn yordami, ekspluatatsiya qilish, fayllarni boshqarish va hokazolarni yo'q qilish kabi). Buning uchun odatda "konservalangan" usul yo'q va PHP ichida hech kim yo'q.

2
qo'shib qo'ydi
1
qo'shib qo'ydi

Foydalanuvchilaringizni ma'lum bir jildga cheklash uchun open_basedirdan foydalaning. Shu tarzda fayllarini uning egaliklari bilan amalga oshirishi mumkin, lekin uning papkasidan boshqa hech narsa ko'ra olmaydi.

Qo'shimcha ma'lumot olish uchun bu erga qarang:

http://www.randombugs.com/php/apache -dynamic-virtual-hosting-php-security.html

http://www.php.net/manual/tr /ini.core.php#ini.open-basedir

0
qo'shib qo'ydi
PhP |BotsUz
PhP |BotsUz
93 ishtirokchilar

Phpni o'rganishni Hohlasangiz https://t.me/joinchat/AAAAAE-KRc5dd5tPMmGmWA A'zo bo'lin