newbiededyk 10 Zgłoś post Napisano Luty 3, 2011 Witam Mam takie małe pytanko dla starych wyjadaczy ;-) Zainstalowałem sobie serwerek proftpd z obsługą mysql-a. Wszysko fajnie, w pliku sql.conf wstawiłem DefalutRoot ~, i wszystko fajnie autoryzuje i nie wypuszcza usera poza folder zdefiniowany w bazie (np /var/www/jakastrona/). Ale... jeśli w php wklepie sobie include('../jakisplik.php'), to automatycznie wyjdzie mi poza katalog DefaultRoot i zaincluduje ten plik. Dlaczego? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Aimer Zgłoś post Napisano Luty 3, 2011 (edytowany) Tak, ponieważ proftpd to serwer FTP, a nie PHP. PHP jest interpretowane po stronie serwera (na interpreterze PHP), serwer FTP może paść, PHP nadal pracuje. Poustawiaj odpowiednie chmody to nie będziesz miał problemu. W jakim trybie pracuje na tym serwerze PHP? A po 2 zły dział :\ Edytowano Luty 3, 2011 przez Aimer (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
newbiededyk 10 Zgłoś post Napisano Luty 17, 2011 Jak poustawiać chmody?. Ja mam proftpd przez mysql i chociaż mu przydziele usera proftpd to i tak jak zdefiniuje konto w mysql to on wychodzi katalogi wyżej Udostępnij ten post Link to postu Udostępnij na innych stronach
newbiededyk 10 Zgłoś post Napisano Luty 17, 2011 nikt nie wie? Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Luty 17, 2011 Ale... jeśli w php wklepie sobie include('../jakisplik.php'), to automatycznie wyjdzie mi poza katalog DefaultRoot i zaincluduje ten plik. Dlaczego? To zainteresuj się open_basedir, wtedy nie będzie mógl zaincludować pliku spoza przydzielonego katalogu. Udostępnij ten post Link to postu Udostępnij na innych stronach
newbiededyk 10 Zgłoś post Napisano Marzec 29, 2011 (edytowany) Ok - dzięki A nie ma innego sposobu na to? bo np wchodzę na nazwa.pl i tam jest tak /home/nazwauzytkownika/public_html/nazwadomeny No i ok... i poza nazwa uzytkownika nie wyjdzie. A ja stworzylem useradd user1 useradd user2 No i mam... /home/user1/ /home/user2/ i pomimo ze plik jest w /home/user1 to i tak wyjdzie poza user 1 np (z katalogu /home/user1) include('../user2'/index.php); i mi zaincluduje ten plik a nie powinno go wypuścić poza user1 zrobiłem chown user1:user1 /home/user1 ale dalej wypuszcza Dlaczego? Jest to o tyle nie bezpieczne, że jeśli 2 user będzie znał strukturę skryptu to jeśli $pass = 'dsadasdas'; to on u siebie wywoła tą zmienną a nie powinien mieć możliwości czytania skryptu z nie swojego katalogu Edytowano Marzec 29, 2011 przez newbiededyk (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Marzec 29, 2011 dla każdego usera musisz miec open_basedir na jego katalog Udostępnij ten post Link to postu Udostępnij na innych stronach
newbiededyk 10 Zgłoś post Napisano Kwiecień 1, 2011 Witam Sprawdziłem na nazwie i... /home/nazwausera/ftp/ Jesli się wyjdzie poza /ftp/ php zwraca permission denided. A... Ja jak dam chmod 744 /home to mi blokuje wszystkie strony Udostępnij ten post Link to postu Udostępnij na innych stronach
alonis 0 Zgłoś post Napisano Kwiecień 13, 2011 include('../jakisplik.php'), a masz file czy virtual ? bo moze z tego wychodzi roznica Udostępnij ten post Link to postu Udostępnij na innych stronach