Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sesja w katalogu /tmp z otwatym tekstem hasla
Forum PHP.pl > Forum > Przedszkole
Bolo_B
Hej! Napisalem sobie stronke z obsuga sesji aby ciacha nie byly przechowywane na kompie usera i myslalem sobie ale rewelka. Jednak ostatnio czegos szukalem na moim serwerze a patrze w katalogu /tmp sa jakies stare sesje. No na poczatku to zbagatelizowalem ale na nastepny dzien zajzalem do plikow sesji i zobaczylem ze sesja ma haslo zapisane otwartym tekstem. Pierwsze co mi przyszlo do glowy zeby zmienic katalog plikow sesji no dac prawa rootowi jednak sie nie da bo apache dziala na nobody i sie wykrzacza ze nie ma dostepu. Jak nobody to sprawa jest zalatwiona bo kazdy tam wlezie i se odczyta. Czy jest zatem jakas magiczna regolka zamiast $_SESSION['terefere'] = $haslo; Moze jest cos, co jak sie wpisze jeszcze to to haslo bedzie zakodowane w sessji? albo jakas metoda szyfrowania calego pliku sesji w ustawieniach php.ini?
dr_bonzo
A po co w sesji trzymasz haslo?
Zaloz system sesji oparty na bazie danych.
Kinool
jesli juz musisz to md5 no a wlasnie po co ci te hasla w sesji??
jak uwiezytelniesz usera to sprawdz czy jest dobre i trzymaj jakis identyfikator np: $_SESSION['auth'] = true;
mike
A ja odradzam nawet md5 (toczyła się ostatnio dyskusja na temat bezpieczństwa tego algorytmu).
Jeśli chodzi o sesji to definitywnie nie powinno się trzymać w niej haseł, a jedynie status użytkownika zalogowany/niezalogowany.
Guest
No wszystko rozumiem, jednak trzymanie hasla w bazie danych to dla mnie rowniez jakas porazka gdyz i tak trzeba uzyc jakiegos skryptu ktory by np. laczyl sie do mysql. Oczywiscie w skrypcie tez jest otwarte haslo do bazy wiec nikomu to nie przeszkodzi. Po za tym moje skrypty lacza sie z baza danych mysql i nie moze byc mowy o tym aby jakiekolwiek haslo (oprocz specjalnego konta anonymusa ktore oczywiscie ma inna nazwe majace bardzo male uprawnienia jedynie do kilkutabel i w dodatku tylko SELECT) znajdowalo sie w skrytcie php (dla mnie to rozwiazanie poprostu jest zenjace). Ponadto uprawnienia do tabel w mysql zarzadzane sa przy pomocy userow mysql a nie jakis tam skryptow php i tabel tworzonych przez skrypt. Poprostu user loguje sie do bazy podajac login i haslo a nie do jakiegos portalu czy forum phpbb ktory trzyma hasla w bazie i sobie je pobiera, a haslo do niej jest wklepane otwartym tekstem w skryptcie. Dlatego nie moge uzywac statusu zalogowany/niezalogowany. W moim przypadku php to tylko nakladka aby latwiej mozna bylo korzystac z bazy. Widze ze pozostaje mi zabezpieczenie katalogu z sesjami poprzez danie mozliwosc do odczytu tylko userowi nobody. Musze potestowac to rozwiazanie. mimo wszystko dzieki za szybka odpowiedz. Nie mowie ze mam razje bo moge sie grubo mylic.
mike
A Ty myślisz że w bazie to się trzyma hasła otwartem tekstem :?:
To jest dopiero żenujące tongue.gif

Jeśli chcesz trzymać hasła w bazie (a powinieneś) to trzymaj je zachaszowane sha1
Guest
Czy napisalem ze w bazie sa trzymane hasla otwartym tekstem. Przeczytaj uwaznie. Jak ktos sie dorwie do twojego skryptu, ktory laczy sie z baza gdzie trzymasz hasla to wtedy zobaczy ze skrypt zawiera haslo do bazy hasel napisane otwartm tekstem. Wtedy to juz momencik aby dostac sie do wszystkich hasel jakie masz na twoj ukochany portalik czy forum. I to jest zenujace. Bo niby jak skrypt polaczy sie z baza?
mike
Fakt jest faktem. Gdzieś to hasło do bazy musisz trzymać.

Jeśli chcesz na 1000% zabezpieczyć stronę możesz trzymać hasło do bazy danych w bazie danych laugh.gif

Ale na poważnie:
Nigdy nie zabezpieczysz się w skrypcie php przed fizycznym włamaniem na serwer.
Nawet jeśli będziesz trzymał hasło do bazy danych poza folderem dostępnym z sieci to fizyczne włamanie i tak spowoduje wypłynięcie tych haseł.

A poza tym jak kroś już nawet się dostanie do bazy to nic mu po hasłach jakie są tam zapisane, bo będą one zahaszowane. Co nie zmienia faktu że może wszystko skasawać.

Musisz rozdzielić bezpieczeństwo serwera od bezpieczeństwa skryptu.
Bolo_B
No to raczej sie jeszcze bardziej zaniepokoilem. Wyszedlem z takiego zalozenia ze jak user bedzie podawal haslo to bedzie to haslo bezposrednio do bazy danych. Wydaje mi sie ze mysql ma dosc dobre zabezpieczenia pod tym wzgledem. Zwlaszcza ze pliki z haslami sa dostepne tylko dla usera mysql ktory jest teoretycznie niedostepny dla zwyklego smiertelnika bo nawet nie zaloguje sie na maszyne pod jakas powloka bo ma bin/false. Stad potrzebne mi sa hasla w sesji, tylko problem gdzie umiescic pliki sesji w takim przypadku? Ale to juz chyba zaczyna byc of topic.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.