2011-11-12 13 views
13

Buduję nową stronę internetową, na której użytkownik może się zalogować. Widzę trzy możliwe opcje: typNajlepsza implementacja logowania w PHP/MySQL/Apache

1. klasyczne logowanie:

<form action="/login.php" method="POST"> 

</form> 

i złożyć przycisk idzie login.php i sprawdza i przekierowuje jeśli sukces

2. typ ajax logowanie:

To samo co powyżej, ale zamiast tego wywołaj ajax, a następnie przekierowania javascript.

3. iframe logowanie:

sam pomysł jak stackoverflow/OpenID

Co jest najbezpieczniejszym i najlepszym sposobem na to zrobić?

Odpowiedz

23

Cóż, moim zdaniem opcje 1 & 2 powinny używać postu, aw swoim kodzie powinieneś upewnić się, że prośba została wysłana. powinieneś także dodać inną logikę sesji przeciwko podszywaniu się, jeśli chcesz, aby aplikacja była super bezpieczna, ale jest to preferencja dla programisty i aplikacji. Uważam, że iframe to zło, a wielu hakerów używa iframe do hackowania nieświadomych kont użytkowników. openid to godny zaufania sposób na logowanie się i staje się coraz szerzej przyjęty, a także na facebooku wersja openid. Wiem, że używają metody iframe, ale weryfikacja jest podwojona i wierzę, że do implementacji tego rodzaju logowania wymagany jest https.

znowu wszystko to tylko moja opinia i zależy głównie od projektu programisty i potrzeb biznesowych/wymagań aplikacji.

mam nadzieję, że to pomoże :)

+0

co masz na myśli przez podszywanie się? –

+1

Nie jestem pewien, czy używasz frameworka lub niestandardowego kodu, ale większość frameworków ma to teraz zintegrowane, ale w zasadzie to, co wcześniej zostało opublikowane jako inny rodzaj pokrewnego tematu: Zapobieganie utrwalaniu sesji Regeneruj nowy identyfikator sesji co X liczba żądań w celu skrócenia czasu, w którym osoba atakująca musi wykraść identyfikator. Wyjątkowa identyfikacja klienta Użyj adresu IP i/lub agenta użytkownika, aby jednoznacznie zidentyfikować klienta i sprawdzić jego wartość przy każdym ładowaniu strony w stosunku do tych przechowywanych w sesji. To naprawdę jedyne dwa wybory, które musisz jednoznacznie zidentyfikować. –

+0

Oto dobry artykuł na temat spoofingu: [link] (http://www.nyphp.org/PHundamentals/6_Spoofed-Form-Submissions) –

Powiązane problemy