Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: LDAP i sesje
Forum PHP.pl > Forum > PHP
koziet
Witam.

Czy istnieje możliwość przekazywania w sesji identyfikatora połączenia LDAP? Chodzi mi o to, że użytkownik po zalogowaniu na stronie logowania przechodzi sobie na inne strony i musi mieć możliwość dokonywania zmian w LDAP'ie bez ponownego podawania nazwy użytkownika i hasła. O ile z nazwą użytkownika nie ma problemu bo jawnie przekazuję ją w sesji to nie chciał bym robić tego z hasłem smile.gif
erix
Cytat
O ile z nazwą użytkownika nie ma problemu bo jawnie przekazuję ją w sesji to nie chciał bym robić tego z hasłem

Jeśli trzymasz dane sesyjne w niepublicznym katalogu, czy nawet w SQL (tabela typu memory), to w czym problem?

Poza tym, nie ma możliwości zserializowania zmiennej typu resource, z tego, co mi wiadomo. Tym samym - nie da się przekazać jej przez sesję.
koziet
Cytat(erix @ 11.03.2009, 18:44:32 ) *
Jeśli trzymasz dane sesyjne w niepublicznym katalogu, czy nawet w SQL (tabela typu memory), to w czym problem?


Ano problem w tym, że nie tylko ja mam pełen dostęp do serwera a nawet gdybym był to tylko ja to nie wiem czy użytkownicy byli by szczęśliwi wiedząć, że ich hasła są w taki czy inny sposób "ujawniane" no bo nie powiesz chyba, że jaśli ktokolwiek poza właścicielem konta może poznać jego hasło to jest to bezpieczne.
erix
Cytat
no bo nie powiesz chyba, że jaśli ktokolwiek poza właścicielem konta może poznać jego hasło to jest to bezpieczne.

Jeśli serwer konfigurował administrator, a nie l00ser, to dla każdego konta PHP pracuje pod innymi uprawnieniami uniemożliwiając odczyt osobom niepowołanym.

A tak, to tylko root ma dostęp, czyli admin.

Nie ma możliwości zserializowania połączenia; pozostaje chyba tylko zapisanie tego w sesji i np. szyfrowanie jakimś zależnym od konkretnego użytkownika kluczem.
koziet
Wiem, że nie ma możliwości serializacji połączenia ale myślałem, że może ktoś wymyślił jakieś obejście na to bo w końcu istnieją aplikacje www pozwalające na manipulację danymi LDAP.

Poza tym moim zdaniem nawet root nie powinien znać haseł użytkowników tym bardziej jeśli nie posiada on konta w LDAP prawda? Administratorowi serwera www nie musi wiedzieć wszystkiego a już na pewno nie powinien wiedzieć jak zalogować się do Active Directory przedsiębiorstwa, którego nie jest pracownikiem.
Pilsener
A jest w ogóle coś takiego jak identyfikator połączenia LDAP i skądś można to pobrać?

Cytat
musi mieć możliwość dokonywania zmian w LDAP'ie bez ponownego podawania nazwy użytkownika i hasła
- a nie możesz po prostu przekazać loginu i hasła? I wysłać jeszcze raz na nowej stronie?
koziet
Oczywiście, że mogę ale powiedz mi jak mam bezpiecznie przechować to hasło? Nie mogę użyć do tego sesji bo ta przechowywana jest w pliku na serwerze i w tym momencie osoba mająca pełny dostęp do serwera może odczytać username i password z sesji a serwis www ma być hostowany poza firmą więc nie chciał bym aby kto kolwiek miał możliwość przechwycenia hasła. Logowanie odbywa się poprzez https
erix
Cytat
Nie mogę użyć do tego sesji bo ta przechowywana jest w pliku na serwerze

Przecież możesz zaszyfrować dane sesyjne w pliku... Jest taka funkcja session_set_save_handler" title="Zobacz w manualu PHP" target="_manual i piszesz przy zapisie funkcję szyfrującą.

Kluczem może być np. unikalny klucz, który będzie przechowywany w ciastku usera. Bez klucza niewiele ktoś zrobi. winksmiley.jpg

Wtedy musisz się tylko trochę pomartwić o bezpieczeństwo ciastek, ale to już jest mniejszy problem. Zresztą, napisałem Ci parę innych sposobów w poprzednich postach, więc ciut pokombinuj. winksmiley.jpg
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.