Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Bezpieczeństwo podczas logowania w sklepie internetowym
Forum PHP.pl > Forum > Przedszkole
sebap123
Witam,

Piszę mechanizm logowania do sklepu. Same hasło przed wprowadzeniem do bazy danych jest odpowiednio czyszczone, zasalana i kodowane. Tak więc tą kwestię mam opanowaną.
Również, jeśli więcej niż n razy nastąpi błędne podanie hasła następuje czasowe, lub permanentne - do momentu odblokowania przez admina, konta.

Jeśli chodzi o poruszanie się po sklepie to w zmiennej sesyjnej jest przechowywany login użytkownika, jego ID, czas logowania i numer IP komputera z którego logowanie miało miejsce. Jeśli coś jest nie tak tzn. IP w zmiennej jest inne niż IP komputera to następuje wylogowanie i prośba o ponowne logowanie.

Dostęp do danych wrażliwych posiada ponowną prośbę o zalogowanie (ten mechanizm jeszcze nie jest wykorzystany, bo sklep takich danych na razie nie ma ale może będzie miał).

Jak to wszystko planowałem wyglądało ok i według mnie nadal jest. Mam jednak jeden problem. Posiadam zakupiony certyfikat ssl więc, dane na serwer - login i hasło będą przesyłane w wersji szyfrowanej, jednak nie wiem, czy zrobić mechanizm podobnym jak jest np. na Allegro, że w momencie logowania przenosi sie na stronę ssl.allegro.pl, a potem wraca na zwykłe allegro, czy tak, że cały czas jestem na ssl, czyli nieważne, czy chce się zalogować, czy tylko oglądam ofertę sklepu to mam https?

Czy takie podejście nie wpłynie jakoś na czas ładowania strony i ogólnie komfort obsługi?

Czy macie jeszcze jakąś poradę jak dodatkowo zabezpieczyć sklep?
Van Pytel
Raczej na wydajność nie wpłynie, bo wystarczy sprawdzić, czy podczas logowania jest https jeśli nie ma to przełącza stronę. Warunek + header.
Jeśli masz certyfikat to bym już cały stronę zabezpieczył ssl, a nie tylko logowanie.
sebap123
No dobrze, dzięki za te informacje, ale cały czas nie mam 100% pewności co do rozwiązania swojego problemu.

Może na przykładzie to opiszę:

Mamy stronę index.html na której mamy formularz logowania. Formularz ten ma przesłać dane do strony login.html, gdzie następuje weryfikacja itp.Jasne jest tutaj, że strona index.html powinna być zabezpieczona szyfrowaniem, bo inaczej można podsłuchać co się dzieje.

Jednak, jeśli na stronie strona.pl/index.html podepniemy tylko link do strony logi.html która jest szyfrowana i ma np adres ssl.strona.pl/login.html to po zweryfikowaniu jeśli ustawimy zmienne sesyjne takie jak login, id, IP itp. będą one nadal widoczne na stronie strona.pl/index.html?

Poza tym, cały czas mnie zastanawia, skoro tyle firm i do tego dużych firm wykorzystuje ssl tylko do logowania (allegro, home.pl), to musi być ku temu jakiś powód. Będę wdzięczny jak ktoś doświadczony w tej kwestii się wypowie.

Czy ktoś mógłby mi udzielić odpowiedzi na moje pytanie?
uupah5
Cytat(sebap123 @ 23.04.2012, 09:34:13 ) *
Poza tym, cały czas mnie zastanawia, skoro tyle firm i do tego dużych firm wykorzystuje ssl tylko do logowania (allegro, home.pl), to musi być ku temu jakiś powód. Będę wdzięczny jak ktoś doświadczony w tej kwestii się wypowie.

wydajność. ogólnie - używaj ssl tylko tam gdzie jest to niezbędne. reszta idzie po http.
ps sprawdzenie czy ip się nie zmieniło może wyjść bokiem dla userów mobilnych. tam ip zmienia się czesto. sprawdzaj zamiast tego fingerprint przeglądarki.
!*!
Cytat
Same hasło przed wprowadzeniem do bazy danych jest odpowiednio czyszczone, zasalana i kodowane. Tak więc tą kwestię mam opanowaną.


Czyścić hasło, a po co?

Cytat
Również, jeśli więcej niż n razy nastąpi błędne podanie hasła następuje czasowe, lub permanentne - do momentu odblokowania przez admina, konta.


Czyli jak poznam Twój login, to bez problemu mogę Cie zablokować?

Cytat( @ 23.04.2012, 10:13:48 ) *
wydajność. ogólnie - używaj ssl tylko tam gdzie jest to niezbędne. reszta idzie po http.
ps sprawdzenie czy ip się nie zmieniło może wyjść bokiem dla userów mobilnych. tam ip zmienia się czesto. sprawdzaj zamiast tego fingerprint przeglądarki.


IP zmienia się w trakcie połączenia?


uupah5
Cytat(!*!)
IP zmienia się w trakcie połączenia?

teoretycznie co 24h lub przy nowym połączeniu (wg BOK) więc nie powinno, w praktyce - obserwowałem to w logach częściej niż mógłbym się spodziewać.
może ktoś zgłębiał temat dokładniej. osobiście pozostałem przy sprawdzaniu odcisku browsera z elementami geolokalizacji (kraj)
sebap123
Cytat(uupah5 @ 23.04.2012, 10:13:48 ) *
sprawdzenie czy ip się nie zmieniło może wyjść bokiem dla userów mobilnych. tam ip zmienia się czesto. sprawdzaj zamiast tego fingerprint przeglądarki.

Jest to rzecz do przemyślenia, ale tak jak było potem napisane to też nie zmienia się to przecież tak często

Cytat
Czyścić hasło, a po co?

Może się nie zrozumieliśmy - pod pojęciem czyścic hasło miałem na myśli usuwanie niedozwolonych znaków, standardowa akcja przy pobieraniu jakichśkolwiek wprowadzanych danych przez użytkownika i wprowadzanych do bazy.

Cytat
Czyli jak poznam Twój login, to bez problemu mogę Cie zablokować?

Tak, zresztą na tym forum, też znając login możesz zablokować konto. Jednak w logach jest też zapisany IP blokującego. Jest to jeszcze rzecz do dopracowania.

No to dzięki za info, czyli już raczej żadnych większych dziur w swoim systemie nie widzę. Po prostu będę tak jak mówiłem, po zalogowaniu ustawiał zmienne sesyjne i wracał do http. Powinno być bezpiecznie.

Mam jeszcze jedno pytanie, które teraz mi się pojawiło przeglądając sposób logowania do facebooka. Tam w formularzu jest w polu action wysłanie danych do strony https, ale samo logowanie odbywa się na stronie http.

Nie jestem specjalistom w tej dziedzinie (dlatego tutaj pytam), ale czy w momencie naciśnięcia zaloguj, moje dane nie są narażone na podsłuchanie, bo jeśli dobrze rozumiem, to sa one przesyłane niezabezpieczonym łączem, czy może się mylę?
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.