Jak zrobić stronę www zabezpieczoną kilkusegmentowym hasłem

Witam,

mam następujący problem i nie znalazłem jego rozwiązania na forum.

Mr Google też nie jest pomocny - albo nie umiem szukać.

Proszę więc się nie śmiać i pomóc mi w tym temacie.

Potrzebuję porady (pomocy) jak zrobić stronę www z której możliwość wyjścia dalej zabezpieczona jest koniecznością poprawnego wpisania hasła, zbudowanego z kilku członów:

[xxxx]-[xxxx]-[xxxx]-[xxxx]-[xxxx]-[xxxx]-[xxxx]-[xxxx] <-przykład

  1. jeden człon to 3 lub 4 znaki (cyfry, małe i duże litery)

  2. poprawna sekwencja hasła powoduje przejście do następnej strony po akceptacji.

  3. akceptacja wymaga wciśnięcia klawisza [potwierdz]

  4. każdy błąd powoduje przy potwierdzaniu wyświetlenie komunikatu błędu i jest możliwość 2-ch powtórek.

Następny błąd wymusza cofnięcie do poprzedniej strony www i wyświetla jakiś komunikat dla zachęty.

  1. kod źródłowy strony jest ukryty przed ciekawskimi.

proszę o poradę, także na priv.

Jeśli dobrze zrozumiałem chcesz zrobić coś a’la CD-KEY?

  1. http://www.w3schools.com/tags/att_input_maxlength.asp

2 i 3 są powiązane tworzysz normalny formularz, który obsłużysz w php, albo w czymś innym, a czy sekwencja jest poprawna, wystarczy ze weźmiesz konkatenacje zawartości tych wszystkich pól i porównasz ze wzorcem.

  1. powtórki 2 i więcej wymagają już sesji, bo musimy jakoś zapamiętać stan (ewentualnie zapisywać IP użytkownika [plik, baza, etc.] który kliknął przycisk)

  2. kodu nie da się ukryć, nie tej części którą wysyłamy klientowi http, można tylko kod po stronie serwera

Oczywiście zalecałbym zabezpieczenie transmisji SSL.

Gdzie zadają takie zadania domowe?

Potrzbne Ci będą: formularz do wprowadzania hasła oraz zainicjowania sesja. Rozumiem że celem takiego dzielenia hasła jest wygoda użytkownika. W takim razie zwykły formularz z POST-em powinien wystarczyć. Wysłane pola formularza muszą zostać sklejone po stronie serwera a następnie porównane z jakimś wzorcem.

Tutaj prosty warunek, jeżeli wzorzec pasuje do podanego hasła, to dajemy wartość zmiennej sesyjnej (np “$zalogowany”) na TRUE, w przeciwnym przypadku zostaje FALSE. Wyświetlanie się dalszej strony zależeć powinno właśnie od zmiennej $zalogowany. Jak ogarniesz ten etap to reszta jest tylko formalnością.

Dodatkowo faktycznie przydałoby się SSL przy przesyłaniu hasła, ale to już inna para kaloszy i musi to obsługiwać Twój serwer.