Skocz do zawartości
Zaloguj się, aby obserwować  
supermega

zabezpieczenie haseł w skryptach PHP i podobnych

Polecane posty

Mój problem dotyczy uprawnień dostępu do plików strony www i nie jest związany z konktretnym serwerem.

 

Czy da się w jakiś sposób uniemożliwić właścicielowi konta www otwieranie plików innego konta www?

 

Problemu nie da się rozwiązać na bazie zwykłych uprawnień dostępu (chmod), bo pliki muszą mieć uprawnienia umożliwiające otwarcie ich przez użytkownika pod jakim działa serwer www (załóżmy www-data). Gdy właściciel innego konta spróbuje otworzyć ten plik np. przez PHP lub CGI to zrobi to też jako www-data.

 

Zatem komenda PHP:

file('/home/user150/public_html/sql.inc.php');

musi zadziałać (wykonana przez dowolny skrypt php na serwerze, należący do innego usera).

 

W PHP kiedyś był safe_mode, który sprawdzał zgodność UID pliku przy jego otwieraniu z UID uruchomionego skryptu. Jednak odeszli od tego trybu. Da się go czymś zastąpić?

 

Da się cokolwiek poradzić w przypadku skryptów CGI? Jak sobie z tym radzą firmy hostingowe?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

www-data to nieporozumienie, po to mamy takie wynalazki jak FCGI/FastCGI + suEXEC, żeby takich głupot nie robić. Każdy user ma swoje pliki i inni mogą go w żyć pocałować - nie dasz do pliku praw dla "others" to go nie zobaczą.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W jaki sposób FCGI się odnosi do uprawnień? Aby uzyskać podobną funkcjonalność w PHP należy odpalać PHP przez CGI czy są inne metody?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ano w takim, że jakimś cudem (czy to przez sam daemon www + suexec, czy to przez jakiś menedżer procesów) odpalasz sobie "wiszące" i oczekujące na requesty procesy php-fastcgi. Odpalasz je z różnymi UID. A potem odpowiednio kierujesz httpd, co by do wykonania skryptów php użył tych wiszących procesów.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×