![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 17.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Na moim serwerze dedykowanym posiadam kilku użytkowników i każdy posiada po kilka domen. Użytkownik MICHAŁ ma path: /home/users/michal/domains/forum.pl/public_html Na koncie forum.pl mam skrypt php, który generuje treść. Na końcu owego skryptu chciałbym zrobić include do innego skryptu na moim serwerze, który doda wpis do portalu. Zrobiłem tak:
Wiadomo, że chciałbym na końcu swojego skryptu na forum.pl - nawiązać połączenie do bazy danych poprzez plik, który znajduje się na koncie innego użytkownika / domenie. Wynik skryptu to po prostu: Kod Warning: require_once() [function.require-once]: open_basedir restriction in effect. File(/home/users/franek/domains/portal.pl/public_html/db_connect.php) is not within the allowed path(s): (/home/users/michal/:/tmp:/var/tmp:/usr/local/lib/php/) in /home/users/michal/domains/forum.pl/public_html/newpost.php on line 4 Warning: require_once(/home/users/franek/domains/portal.pl/public_html/db_connect.php) [function.require-once]: failed to open stream: Operation not permitted in /home/users/michal/domains/forum.pl/public_html/newpost.php on line 4 Fatal error: require_once() [function.require]: Failed opening required '/home/users/franek/domains/portal.pl/public_html/db_connect.php' (include_path='.:/usr/local/lib/php') in /home/users/michal/domains/forum.pl/public_html/newpost.php on line 4 Jak zaincludować plik tak jak ja chcę? Nie chciałbym, aby do moich skryptów dostęp mieli osoby spoza serwera, bo czytałem coś o allow_url_include, ale zezwolić wszystkim to trochę przesada. Natomiast odblokowując open_basedir udostępnię wszystkim na serwerze dostęp do wszystkich katalogów, a wystarczy mi jedynie powyższe jednorazowe zezwolenie. Ten post edytował WoGuziczek 11.05.2010, 20:36:40 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Skoro jest to serwer dedykowany, to powiedz czy masz tam FastCGI, mod_php + safe_mode czy coś jeszcze innego, ponieważ jest to dość istotne. Na zwykym Linuksie takiego jednorazowego zezwolenia raczej nie zrobisz, ponieważ system uprawnień nie jest aż tak elastyczny. Dopiero w SELinux powinno się dać wykonać coś takiego, ale oznacza to trochę zabawy z politykami, przydzielaniem ról itd.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 17.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wiesz... mam full dostęp, więc jedno słowo i będę to wszystko miał lub nie.
Co proponujesz? System to debian więc zdaję sobie sprawę, że system mi nie pozwoli na takie bajery. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Nie możesz spróbować zamiast robić include to wywołać file_get_contents localhost/cosZrobOdAdmina.php ? Albo exec(cosZrobOdAdmina.txt) ?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 20:30 |